1
0
mirror of https://github.com/ruanyf/es6tutorial.git synced 2025-05-24 18:32:22 +00:00

docs(proposals): edit JSON superset

This commit is contained in:
ruanyf 2019-04-22 15:01:23 +08:00
parent c703df344a
commit 93f7e23e22

View File

@ -236,7 +236,12 @@ JavaScript 字符串允许直接输入字符,以及输入字符的转义形式
这个规定本身没有问题,麻烦在于 JSON 格式允许字符串里面直接使用 U+2028行分隔符和 U+2029段分隔符。这样一来服务器输出的 JSON 被`JSON.parse`解析,就有可能直接报错。
JSON 格式已经冻结RFC 7159没法修改了。为了消除这个报错现在有一个[提案](https://github.com/tc39/proposal-json-superset),允许 JavaScript 字符串直接输入 U+2028行分隔符和 U+2029段分隔符
```javascript
const json = '"\u2028"';
JSON.parse(json); // 可能报错
```
JSON 格式已经冻结RFC 7159没法修改了。为了消除这个报错[ES2019](https://github.com/tc39/proposal-json-superset) 允许 JavaScript 字符串直接输入 U+2028行分隔符和 U+2029段分隔符
```javascript
const PS = eval("'\u2029'");