Baseline Widely available *
Trailing commas ("final commas"ë¼ê³ ë ë¶ë¦½ëë¤)ë ìë¡ì´ ì리먼í¸ë 매ê°ë³ì, ìì±ì JavaScript ì½ëì ì¶ê°í ë ì ì©í©ëë¤. ìë¡ì´ ìì±ì ì¶ê°í ë, ë§ì§ë§ ì¤ì trailing commaê° ìë¤ë©´ ê·¸ ì¤ì ìì ìì´ ê·¸ëë¡ ë³µì¬í´ ì¸ ì ììµëë¤. ì´ì¸ìë ë²ì ê´ë¦¬ ì´ë ¥ì´ ê°ë¨í´ì§ê³ ì½ë í¸ì§ì´ ë í¸í´ì§ë¤ë ì¥ì ì´ ììµëë¤.
JavaScriptë ì´ê¸°ë¶í° ë°°ì´ ë¦¬í°ë´ì trailing comma를 íì©íì¼ë©°, ECMAScript 5ë¶í°ë ê°ì²´ 리í°ë´, ECMAScript 2017ë¶í°ë í¨ìì 매ê°ë³ììë íì©í기 ììíìµëë¤.
ê·¸ë¬ë JSONììë trailing comma를 íì©íì§ ììµëë¤.
리í°ë´ììì trailing comma ë°°ì´JavaScriptë ë°°ì´ì ëíëë trailing comma를 무ìí©ëë¤.
var arr = [1, 2, 3];
arr; // [1, 2, 3]
arr.length; // 3
trailing commaê° ì¬ë¬ ê° ìì ê²½ì° ë¹ ì¬ë¡¯("구ë©")ì´ ìê¹ëë¤. 구ë©ì´ ìë ë°°ì´ì ì±ê¸°ë¤(sparse)ê³ í©ëë¤(ì¡°ë°í(dense) ë°°ì´ìë 구ë©ì´ ììµëë¤). Array.prototype.forEach()
ë Array.prototype.map()
ì ì´ì©í´ ë°°ì´ì ìíí ëë ë¹ ì¬ë¡¯ì 무ìí©ëë¤.
var arr = [1, 2, 3, , ,];
arr.length; // 5
ê°ì²´
ECMAScript 5ë¶í°ë ê°ì²´ 리í°ë´ìë trailing comma를 ì¬ì©í ì ììµëë¤.
var object = {
foo: "bar",
baz: "qwerty",
age: 42,
};
í¨ìììì trailing comma
ECMAScript 2017ììë í¨ìì 매ê°ë³ì 목ë¡ì trailing comma를 íì©í©ëë¤.
매ê°ë³ì ì ììëì ë í¨ì ì ìë 모ë ì í¨íë©°, ìë¡ ê°ìµëë¤. Trailing commaë í¨ì ì ìì length
ìì±ì´ë arguments
ê°ì²´ì ìí¥ì ì£¼ì§ ììµëë¤.
function f(p) {}
function f(p,) {}
(p) => {};
(p,) => {};
Trailing commaë í´ëì¤ë ê°ì²´ì ë©ìë ì ììë ì¬ì©í ì ììµëë¤.
class C {
one(a,) {},
two(a, b,) {},
}
var obj = {
one(a,) {},
two(a, b,) {},
};
í¨ì í¸ì¶
ìëì ë í¨ì í¸ì¶ì 모ë ì í¨íë©°, ìë¡ ê°ìµëë¤.
f(p);
f(p,);
Math.max(10, 20);
Math.max(10, 20,);
ì못ë trailing comma
í¨ìì 매ê°ë³ì ì ìë í¸ì¶ì ì¼íë§ ìì ê²½ì° SyntaxError
ê° ë°ìí©ëë¤. ëí, rest 매ê°ë³ì를 ì¬ì©í ëë trailing comma를 ì¬ì©í ì ììµëë¤.
function f(,) {} // SyntaxError: missing formal parameter
(,) => {}; // SyntaxError: expected expression, got ','
f(,) // SyntaxError: expected expression, got ','
function f(...p,) {} // SyntaxError: parameter after rest parameter
(...p,) => {} // SyntaxError: expected closing parenthesis, got ','
구조 ë¶í´ í ë¹ììì trailing comma
구조 ë¶í´ í ë¹ì ì¢ë³ìë trailing comma를 ì¬ì©í ì ììµëë¤.
// Trailing commaê° ìë ë°°ì´ êµ¬ì¡° ë¶í´
[a, b,] = [1, 2];
// Trailing commaê° ìë ê°ì²´ 구조 ë¶í´
var o = {
p: 42,
q: true,
};
var {p, q,} = o;
Rest ììê° ìì ê²½ì° ìì SyntaxError
ê° ë°ìí©ëë¤.
var [a, ...b,] = [1, 2, 3];
// SyntaxError: rest element may not have a trailing comma
JSONììì trailing comma
ê°ì²´ ìììì trailing commaë ECMAScript 5ì ììì¼ ì¶ê°ëììµëë¤. JSONì ES5 ì´ì ì JavaScript 문ë²ì 기ì´ë¡ íë¯ë¡ JSONììë trailing comma를 ì¬ì©í ì ììµëë¤.
ìëì ë ì¤ ëª¨ë SyntaxError
를 ë°ìí©ëë¤.
JSON.parse("[1, 2, 3, 4, ]");
JSON.parse('{"foo" : 1, }');
// SyntaxError JSON.parse: unexpected character
// at line 1 column 14 of the JSON data
JSONì ì¬ë°ë¥´ê² íì±íë ¤ë©´ trailing comma를 ì ê±°í´ì¼ í©ëë¤.
JSON.parse("[1, 2, 3, 4 ]");
JSON.parse('{"foo" : 1 }');
ëª
ì¸ì ë¸ë¼ì°ì í¸íì± ê°ì´ 보기
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