Как стать автором
Обновить

Arrays, objects… теперь ‘composites’?

Время на прочтение1 мин
Количество просмотров9.8K

TC39 “Composites” – о чем это предложение?

Это предложение представляет составные типы (composites), новый способ объединения нескольких значений в одно. Думайте об этом как о создании простого объекта, но с фиксированной структурой, без прототипа и без магии. Он предназначен для таких вещей, как записи, кортежи или небольшие фрагменты структурированных данных, которым не нужны полноценные классы или объекты.

С помощью композитов вы можете такие вещи, как сравнение:

const pos1 = Composite({ x: 1, y: 4 });
const pos2 = Composite({ x: 1, y: 4 });
Composite.equal(pos1, pos2); // true

Но, каждый вызов Composite создает новый объект, так что === сравнение вернет false (или !== вернет true):

Composite({}) !== Composite({}); // true

Он быстрый, неизменяемый (immutable) по умолчанию и помогает избежать шаблонного кода, когда вам нужно просто сгруппировать значения.

Подробнее, у Мэтта:



Полное описание предложения тут: https://github.com/tc39/proposal-composites

Теги:
Хабы:
+8
Комментарии45

Другие новости

Работа

Ближайшие события