Пропозал "Records & Tuples"
Аксель Раушмайер опубликовал статью про новый пропозал — "A first look at records and tuples in JavaScript".
Records и Tuples (записи и кортежи) — это новые иммутабельные и сравниваемые по значению примитивные типы данных. Record — это аналог объекта, tuple — массива. Для их создания используются похожие на массив и объект литералы с префиксом "#": #[1, 2]
, #{a: 1}
.
Благодаря иммутабельности записи и кортежи можно безопасно использовать по всей программе без необходимости в клонировании (как в случае с обычными массивами и объектами). Также их можно использовать в тех ситуациях, где не имеет особого смысла использовать обычные литералы массивов и объектов, например, при сравнении в условиях #[1, 2, 3] === #[1, 2, 3]
и в качестве ключа Set
и Map
.
На данный момент пропозал находится на первой стадии добавления в стандарт. Есть полифилл (использует экспериментальные WeakRef
и FinalizationRegistry
).
https://habr.com/ru/post/504092/ (перевод на русский язык)
https://2ality.com/2020/05/records-tuples-first-look.html