ECMAScript | Множество и Отношение | Типы спецификации

ECMAScript | Множество и Отношение | Типы спецификации

Множество

Тип Множество (Set) используется для объяснения коллекции неупорядоченных элементов для использования в модели памяти. Оно отличается от одноименного типа коллекции ECMAScript. Чтобы устранить неоднозначность, в этой спецификации экземпляры коллекции ECMAScript постоянно упоминаются как «Объекты Наборы» (Set objects).

Значения типа Множество представляют собой простые коллекции элементов, в которых ни один элемент не встречается более одного раза. Элементы могут быть добавлены в наборы и удалены из них. Множества можно объединять, пересекать или вычитать друг из друга.

 

Отношение

Тип Отношения (Relation) используется для объяснения ограничений для Множеств.

Значения типа Отношения — это наборы упорядоченных пар значений из его области значений.

Например, Отношение событий — это набор упорядоченных пар событий. Для Отношения R и двух значений a и b в области значений R, a R b является сокращением, обозначающим, что упорядоченная пара (a, b) является членом R. Отношение является наименьшим по отношению к некоторым условиям, когда оно наименьшее Отношение, удовлетворяющее этим условиям.

Строгий частичный порядок (strict partial order) — это значение Отношения R, удовлетворяющее следующему:

Для всех a, b и c в области R:

  • Это не тот случай, когда a R a и
  • Если a R b и b R c, то a R c.
Примечание 1

Два указанных выше свойства называются иррефлексивностью и транзитивностью соответственно.

 

Строгий общий порядок (strict total order) — это значение Отношения R, удовлетворяющее следующему.

Для всех a, b и c в области R:

  • a идентично b или a R b или b R a, и
  • Это не тот случай, когда a R a и
  • Если a R b и b R c, то a R c.
Примечание 2

Три указанных выше свойства называются совокупностью, иррефлексивностью и транзитивностью соответственно.

 

Информационные ссылки

Стандарт ECMAScript — Раздел «6.2.2 The Set and Relation Specification Types» — https://tc39.es/ecma262/#sec-set-and-relation-specification-type