Open
Description
misskey-dev/misskey#6608
AiScriptがJSON5のスーパーセットとなるには以下の言語拡張が必要?
- オブジェクトリテラル
- enhance: オブジェクトリテラルのキーに文字列を書けるように #894
- キーにJSON5における識別子を使えるようにする #889
- JSON5IdentifierはECMAScript 5.1のIdentifierNameと同じ
- 一部の非ASCII文字・
$
・Unicodeエスケープシーケンス・予約語も使用できるようにする必要がある
- 文字列
- 文字列リテラルのエスケープシーケンスを増やす #392
- ECMAScript 5.1のEscape Sequence
- 文字列リテラルのエスケープシーケンスを増やす #392
- 数値
- 定数
Infinity
,NaN
- 整数部分と小数点だけ、小数点と小数部分だけの記法
- 指数表記
- 16進表記 (JSON5では2進表記や8進表記に対応する必要はない)
- 定数
- コード中のU+2028 (line separator), U+2029 (paragraph separator)を改行として扱う
- コード中のU+000B (vertical tab), U+000C (form feed), U+00A0 (non-breaking space), U+FEFF (BOM), その他Unicode Zsカテゴリの文字を空白として扱う
- 式の括弧の中では自由に改行できるようにする #899
参考
- The JSON5 Data Interchange Format - JSON5の仕様書
- json5/json5-tests - JSON5のテストスイート
Metadata
Metadata
Assignees
Labels
No labels