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中沒有對應表達
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章