六.字符扩展
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中没有对应表达