Baseline Widely available *
å°¾åéå· ï¼ææ¶å«åâç»æ¢éå·âï¼å¨å JavaScript ä»£ç æ·»å å ç´ ãåæ°ã屿§æ¶ååæç¨ãå¦æä½ æ³è¦æ·»å æ°ç屿§ï¼å¹¶ä¸ä¸ä¸è¡å·²ç»ä½¿ç¨äºå°¾åéå·ï¼ä½ å¯ä»¥ä» ä» æ·»å æ°çä¸è¡ï¼èä¸éè¦ä¿®æ¹ä¸ä¸è¡ãè¿ä½¿å¾çæ¬æ§å¶çä»£ç æ¯è¾ï¼diffï¼æ´å æ¸ æ°ï¼ä»£ç ç¼è¾è¿ç¨ä¸éå°çéº»ç¦æ´å°ã
JavaScript ä¸å¼å§å°±æ¯ææ°ç»åé¢éä¸çå°¾åéå·ï¼éåå对象åé¢éï¼ECMAScript 5ï¼ä¸æ·»å äºå°¾åéå·ãæè¿ï¼ECMAScript 2017ï¼ï¼åå°å ¶æ·»å å°å½æ°åæ°ä¸ã
使¯ï¼JSON ä¸å 许尾åéå·ã
åé¢éä¸çå°¾åéå· æ°ç»JavaScript å¿½ç¥æ°ç»ä¸çå°¾åéå·ï¼
const arr = [
1,
2,
3,
];
arr; // [1, 2, 3]
arr.length; // 3
å¦æä½¿ç¨äºå¤äºä¸ä¸ªå°¾åéå·ï¼ä¼äº§ççç¥ï¼elisionï¼æè
é´é holeï¼ã带æé´éçæ°ç»å«åç¨çæ°ç»ï¼sparse ç´§åæ°ç» dense array 没æçç¥/é´éï¼ãä¾å¦ï¼å½ä½¿ç¨ Array.prototype.forEach()
æ Array.prototype.map()
è¿ä»£æ°ç»æ¶ï¼ä¼è·³è¿æ°ç»é´éã
const arr = [1, 2, 3, , ,];
arr.length; // 5
对象
ä» ECMAScript 5 å¼å§ï¼å¯¹è±¡åé¢å¼ä¸çå°¾åéå·ä¹æ¯ç¬¦åè¯æ³çï¼
const object = {
foo: "bar",
baz: "qwerty",
age: 42,
};
彿°ä¸çå°¾åéå·
ECMAScript 2017 æ¯æå½æ°åæ°ä¸çå°¾åéå·ã
åæ°å®ä¹ä¸é¢çä¸¤ä¸ªå½æ°å®ä¹é½æ¯åæ³çï¼å¹¶ä¸äºç¸çä»·ãå°¾åéå·å¹¶ä¸å½±å彿°å®ä¹ï¼æè
å
¶ arguments
对象ç length
屿§ã
function f(p) {}
function f(p,) {}
(p) => {};
(p,) => {};
å°¾åéå·ä¹å¯ç¨äºç±»æå¯¹è±¡çæ¹æ³å®ä¹ã
class C {
one(a,) {}
two(a, b,) {}
}
const obj = {
one(a,) {},
two(a, b,) {},
};
彿°è°ç¨
ä¸é¢çä¸¤ä¸ªå½æ°è°ç¨é½æ¯åæ³çï¼å¹¶ä¸äºç¸çä»·ã
f(p);
f(p,);
Math.max(10, 20);
Math.max(10, 20,);
ä¸åæ³çå°¾åéå·
ä»
ä»
å
å«éå·ç彿°åæ°å®ä¹æè
彿°è°ç¨ä¼æåº SyntaxError
ãèä¸ï¼å½ä½¿ç¨å©ä½åæ°çæ¶åï¼å¹¶ä¸æ¯æå°¾åéå·ï¼
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 ','
è§£æä¸çå°¾åéå·
è§£ææ¨¡å¼ä¸ä¹å 许使ç¨å°¾åéå·ï¼
// 带æå°¾åéå·çæ°ç»è§£æ
[a, b,] = [1, 2];
// 带æå°¾åéå·ç对象解æ
const o = {
p: 42,
q: true,
};
const { p, q, } = o;
使¯ï¼å©ä½å ç´ åä¸å 许使ç¨å°¾åéå·ï¼å¦æåå¨ï¼
const [a, ...b,] = [1, 2, 3];
// SyntaxError: rest element may not have a trailing comma
JSON ä¸çå°¾åéå·
对象ä¸çå°¾åéå·ä» ä» å¨ ECMAScript 5 ä¸å¼å ¥ãç±äº JSON åºäº ES5 ä¹åçè¯æ³ï¼ JSON ä¸å¹¶ä¸å 许尾åéå·ã
ä¸é¢ä¸¤è¡é½ä¼æåº 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.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