This request has already been treated.

  1. ikeyan314

    FIx typo

    ikeyan314
Changes in body
Source | HTML | Preview
@@ -1,22 +1,22 @@
今日、以下のツイートがタイムラインを流れていました。
<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">🎉 New JavaScript features in ES2019:<br><br>➡️ Array#{flat,flatMap}<br>➡️ Object.fromEntries<br>➡️ String#{trimStart,trimEnd}<br>➡️ Symbol#description<br>➡️ try { } catch {} // optional binding<br>➡️ JSON ⊂ ECMAScript<br>➡️ well-formed JSON.stringify<br>➡️ stable Array#sort<br>➡️ revised Function#toString</p>&mdash; Mathias Bynens (@mathias) <a href="https://twitter.com/mathias/status/1090380500739506176?ref_src=twsrc%5Etfw">January 29, 2019</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
ES2019の新機能を紹介しているツイートですが、その中で私が驚いたのは
> JSON ⊂ ECMAScript
という部分です。これは、言い換えるとES2019より前はJSONはECMAScriptの(構文的な)サブセットではなかったということになります。これまで、JSONの謳い文句としても、そして、実際にJSONの仕様を読んだり使ったりした限りでも、サブセットでない挙動を経験したことがなかったので、これはどういうことだろう、としばらく考えていました。そんなところに、 [@kinabaさん](https://twitter.com/kinaba)が以下の文献を紹介してくれました:
<blockquote class="twitter-tweet" data-lang="en"><p lang="ja" dir="ltr"><a href="https://t.co/s9GN8XK1mK">https://t.co/s9GN8XK1mK</a> これですかね</p>&mdash; kinaba (@kinaba) <a href="https://twitter.com/kinaba/status/1090472706196131841?ref_src=twsrc%5Etfw">January 30, 2019</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
https://github.com/tc39/proposal-json-superset/blob/master/README.md
-ここに書いてあることは、JSONは`U+2028`と`U+2029`をエスケープしないで文字列の中に埋め込めるが、ECMAScriptの文字列リテラルには、そのような文字をエスケープして埋め込むことができない、ということのようです。この、`U+2028`と`U+2019`に関する問題を私が知らなかったためにこれまでそのことに気づかなかったのでした。
+ここに書いてあることは、JSONは`U+2028`と`U+2029`をエスケープしないで文字列の中に埋め込めるが、ECMAScriptの文字列リテラルには、そのような文字をエスケープして埋め込むことができない、ということのようです。この、`U+2028`と`U+2029`に関する問題を私が知らなかったためにこれまでそのことに気づかなかったのでした。
JSONは当然のように(厳密に)ECMAScriptのサブセットだと思っていたので、ちょっとした驚きでした。
(なお、この辺の問題には詳しくないので、ツッコミをお待ちしています)。