JSON superset (ES 10 / ES 2019)
\u2029
段分隔符 \u2028
行分隔符
js
eval('var str="yes";\u2029 function foo(){return str}')
foo() // 'yes' 早期会报错的
JSON.stringify() 的增强 (ES 10 / ES 2019)
es 10 之前 JSON 能解析的范围是 0xD800 ~ 0xDfff 。
js
console.log(JSON.stringify('\uD83D\uDE0E')) // "😎" ,是一个字符
console.log(JSON.stringify('\uD83D')) // "\ud83d" ,被当作字符串原样输出, \uD83D\uDE0E 其实是一个字符,拿出一半不会像以前那样输出别的乱码,而是原样输出