Skip to content

Commit ead00e1

Browse files
committed
Add closure example
1 parent e1e0f5b commit ead00e1

1 file changed

Lines changed: 19 additions & 0 deletions

File tree

‎JavaScript/8-closure.js‎

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
'use strict';
2+
3+
const point = (x, y) => {
4+
const move = (dx, dy) => {
5+
x += dx;
6+
y += dy;
7+
};
8+
const clone = () => point(x, y);
9+
const toString = () => `(${x}, ${y})`;
10+
return { move, clone, toString };
11+
};
12+
13+
// Usage
14+
15+
const p1 = point(10, 20);
16+
console.log(p1.toString());
17+
const c1 = p1.clone();
18+
c1.move(-5, 10);
19+
console.log(c1.toString());

0 commit comments

Comments
 (0)