Baseline Widely available
ECMAScript 2015 를 ììì¼ë¡, ê°ì²´ ì´ê¸°ì(initializer)ì ë©ìë ì ì를 ìí ë ì§§ì êµ¬ë¬¸ì´ ëì ëììµëë¤. ì´ë ë©ìë ëª ì í ë¹ë í¨ì를 ìí ë¨ì¶ì ëë¤.
구문 var obj = {
property( parameters⦠) {},
*generator( parameters⦠) {},
// í¤(ìì±) ê³ì°ê°ê³¼ë í¨ê»:
[property]( parameters⦠) {},
*[generator]( parameters⦠) {},
// ES5 getter/setter 구문과 ë¹êµí´ ë³´ì¸ì:
get property() {},
set property(value) {}
};
ì¤ëª
ë¨ì¶ 구문ì ECMAScript 5ì ëì ë getter ë° setter 구문과 ë¹ì·í©ëë¤.
ë¤ì ì½ëê° ì£¼ì´ì§ë©´:
var obj = {
foo: function () {},
bar: function () {},
};
ì´ì ì´ë¥¼ ìëë¡ ì¤ì¼ ì ììµëë¤:
var obj = {
foo() {},
bar() {},
};
주ì : ë¨ì¶ 구문ì ìµëª
(anonymous) í¨ì (â¦foo: function() {}
⦠ììì²ë¼) ëì ì ëª
(named) í¨ì를 ì¬ì©í©ëë¤. ì ëª
í¨ìë í¨ì 본체ìì í¸ì¶ë ì ììµëë¤ (ì´ë 참조í ìë³ìê° ì기ì ìµëª
í¨ììê²ë ë¶ê°ë¥í©ëë¤). ìì¸í ì¬íì, function
참조.
ìì±ê¸° ë©ìëë ë¨ì¶ 구문ì ì¬ì©í´ìë ì ìë ì ììµëë¤. ë¨ì¶ 구문 ë´ ë³í(*)ë ìì±ê¸° ìì±ëª
ìì ìì¼ í¨ì 주ìíì¸ì. ì¦, * g(){}
ë ìëíì§ë§ g *(){}
ë ìëëë¤.
// ì ëª
ìì± ì¬ì© (ES2015 ì´ì )
var obj2 = {
g: function* () {
var index = 0;
while (true) yield index++;
},
};
// ë¨ì¶ 구문ì ì°ë ê°ì ê°ì²´
var obj2 = {
*g() {
var index = 0;
while (true) yield index++;
},
};
var it = obj2.g();
console.log(it.next().value); // 0
console.log(it.next().value); // 1
ë©ìë ì ìë ìì± ë¶ê°ë¥í©ëë¤
모ë ë©ìë ì ìë ìì±ìê° ìëê³ ì¸ì¤í´ì¤ííë ¤ê³ íë ê²½ì° TypeError
ìì¸ê° ë°ìí©ëë¤.
var obj = {
method() {},
};
new obj.method(); // TypeError: obj.methodë ìì±ìê° ìëëë¤
var obj = {
*g() {},
};
new obj.g(); // TypeError: obj.gë ìì±ìê° ìëëë¤ (ES2016ìì ë°ë)
ì ê°ë¨í í
ì¤í¸ ì¬ë¡
var obj = {
a : "foo",
b(){ return this.a; }
};
console.log(obj.b()); // "foo"
ìì± ê³ì°ëª
ë¨ì¶ 구문ì ìì± ê³ì°ëª (computed property name)ë ì§ìí©ëë¤.
var bar = {
foo0: function () {
return 0;
},
foo1() {
return 1;
},
["foo" + 2]() {
return 2;
},
};
console.log(bar.foo0()); // 0
console.log(bar.foo1()); // 1
console.log(bar.foo2()); // 2
ëª
ì¸ì ë¸ë¼ì°ì í¸íì± ì°¸ì¡°
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4