В своем последнем посте я упомянул, как быстро развивается JavaScript, и перечислил все функции, которые будут стандартизированы в языке в следующем выпуске этого года.
Сегодня я хочу поговорить о надмножестве JSON, так что просто чтобы отследить то, о чем я говорил до сих пор, вот список функций ES2019 (или ES10):
- ̶O̶p̶t̶i̶o̶n̶a̶l̶ ̶C̶a̶t̶c̶h̶ ̶b̶i̶n̶d̶i̶n̶g̶
- Суперсет JSON
- Объект.fromEntries
- Символ.прототип.описание
- Ревизия Function.prototype.toString
- Правильно сформированный JSON.stringify
- String.prototype.{trimStart,trimEnd}
- Массив.прототип.{flat,flatMap}
- String.prototype.matchAll
Суперсет JSON
Мы все знаем JSON как легкий формат для обмена данными. Он широко используется, так как его очень просто читать и анализировать, помимо поддержки типов, объектов и массивов.
По сути, JSON задумывался как подмножество inJSON.parse
(как утверждает ECMAScript), но это неверно, поскольку строки JSON могут содержать неэкранированные символы U+2028 LINE SEPARATOR и U+2029 PARAGRAPH SEPARATOR, в то время как строки ECMAScript не могут.
Это предложение направлено на решение этой проблемы, поэтому нам больше не нужно использовать escape-последовательность для помещения этих «специальных символов» в строку.
До этого следующий код выдавал ошибку:
Теперь эта проблема исчезнет!
По сути, они расширили производство DoubleStringCharacter и SingleStringCharacter ECMA-262, чтобы разрешить неэкранированные символы U+2028 LINE SEPARATOR и U+2029 PARAGRAPH SEPARATOR. Вот и все! Довольно просто, правда?