1. 程式人生 > >ECMAScript 6(ES6) 特性概覽和與ES5的比較6-字元擴充套件

ECMAScript 6(ES6) 特性概覽和與ES5的比較6-字元擴充套件

1.二進位制和八進位制

直接支援安全二進位制(binary)和八進位制(octal)字元 ECMAScript 6

0b111110111 === 503
0o767 === 503

ECMAScript 5

parseInt("111110111", 2) === 503;
parseInt("767", 8) === 503;
0767 === 503;//僅在非嚴格的向後相容模式下

Unicode字串和R正則表示式

在字串和正則表示式中使用Unicode的擴充套件支援。(看不懂) ECMAScript 6

"?".length === 2
"?".match(/./u)[0].length === 2
"?" === "\uD842\uDFB7"
"?" === "\u{20BB7}"
"?".codePointAt(0) == 0x20BB7
for (let codepoint of "?") console.log(codepoint)

ECMAScript 5

"?".length === 2
"?".match(/(?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF][\uD800-\uDBFF][\uDC00-\uDFFF][\uD800-\uDBFF](?![\uDC00-\uDFFF])(?:[^\uD800-\uDBFF]^)[\uDC00-\uDFFF])/)[0].length === 2;
"?" === "\uD842\uDFB7";
//ES5中沒有對應表達
//ES5中沒有對應表達
//ES5中沒有對應表達