ECMAScript | Понятия и определения

ECMAScript | Понятия и определения

Для целей этого документа применяются следующие термины и определения.

implementation-approximated
implementation-defined
host-defined
type
primitive value
object
constructor
prototype
ordinary object
exotic object
standard object
built-in object
undefined value
Undefined type
null value
Null type
Boolean value
Boolean type
Boolean object
String value
String type
String object
Number value
Number type
Number object
Infinity
NaN
BigInt value
BigInt type
BigInt object
Symbol value
Symbol type
Symbol object
function
built-in function
property
method
built-in method
attribute
own property
inherited property

 

4.4.1 implementation-approximated

Приближенное к реализации средство определяется полностью или частично внешним источником, но имеет рекомендованное идеальное поведение в этой спецификации

4.4.2 implementation-defined

Средство, определяемое реализацией, определяется полностью или частично внешним источником в этой спецификации

4.4.3 host-defined

То же, что и в зависимости от реализации

ПРИМЕЧАНИЕ

Редакционно смотри пункт 4.2.

4.4.4 type

Набор значений данных, как определено в разделе 6

4.4.5 primitive value

Член одного из типов Undefined, Null, Boolean, Number, BigInt, Symbol или String, как определено в разделе 6

ПРИМЕЧАНИЕ

Примитивное значение — это элемент данных, который представлен непосредственно на самом низком уровне реализации языка.

4.4.6 object

Член типа Object

ПРИМЕЧАНИЕ

Объект представляет собой набор свойств и имеет единственный объект-прототип. Прототипом может быть нулевое значение.

4.4.7 constructor

Функциональный объект, который создает и инициализирует объекты

ПРИМЕЧАНИЕ

Значение свойства "prototype" конструктора — это объект-прототип, который используется для реализации наследования и общих свойств.

4.4.8 prototype

Объект, который предоставляет общие свойства для других объектов

ПРИМЕЧАНИЕ

Когда конструктор создает объект, этот объект неявно ссылается на свойство "prototype" конструктора с целью разрешения ссылок на свойства. На свойство "prototype" конструктора можно ссылаться с помощью программного выражения constructor.prototype, а свойства, добавленные к прототипу объекта, совместно используются посредством наследования всеми объектами, использующими прототип. В качестве альтернативы новый объект может быть создан с явно указанным прототипом с помощью встроенной функции Object.create.

4.4.9 ordinary object

Объект, который имеет поведение по умолчанию для основных внутренних методов, которые должны поддерживаться всеми объектами

 

4.4.10 exotic object

Объект, который не имеет поведения по умолчанию для одного или нескольких основных внутренних методов

ПРИМЕЧАНИЕ

Любой объект, который не является обычным объектом, является экзотическим объектом.

4.4.11 standard object

Объект, семантика которого определяется данной спецификацией

4.4.12 built-in object

Встроенный объект — это объект, указанный и предоставляемый реализацией ECMAScript

ПРИМЕЧАНИЕ

Стандартные встроенные объекты определены в этой спецификации. Реализация ECMAScript может определять и предоставлять дополнительные виды встроенных объектов. Встроенный конструктор (built-in constructor) — это встроенный объект, который также является конструктором.

4.4.13 undefined value

Примитивное значение, используемое, когда переменной не было присвоено значение

4.4.14 Undefined type

Тип, единственным значением которого является неопределенное значение — undefined

4.4.15 null value

Примитивное значение, которое представляет преднамеренное отсутствие какого-либо значения объекта

4.4.16 Null type

Тип, единственным значением которого является null значение

4.4.17 Boolean value

Член логического типа Boolean

ПРИМЕЧАНИЕ

Есть только два логических значения:  true(истина) и false(ложь).

4.4.18 Boolean type

Тип, состоящий из примитивных значений true и false

4.4.19 Boolean object

Член типа Object, который является экземпляром стандартного встроенного логического Boolean конструктора

ПРИМЕЧАНИЕ

Логический (Boolean) объект создается с помощью логического конструктора в новом выражении new, предоставляя логическое значение в качестве аргумента. Результирующий объект имеет внутренний слот, значением которого является логическое значение. Логический объект может быть приведен к логическому значению.

 

4.4.20 String value

Примитивное значение, которое представляет собой конечную упорядоченную последовательность из нуля или более 16-битных целочисленных значений без знака

ПРИМЕЧАНИЕ

Значение String является членом типа String. Каждое целочисленное значение в последовательности обычно представляет собой одну 16-битную единицу текста UTF-16. Однако ECMAScript не накладывает никаких ограничений или требований на значения, за исключением того, что они должны быть 16-битными целыми числами без знака.

4.4.21 String type

Набор всех возможных значений String

4.4.22 String object

Член типа Object, который является экземпляром стандартного встроенного конструктора String

ПРИМЕЧАНИЕ

Объект String создается с помощью конструктора String в новом выражении new, передавая значение String в качестве аргумента. Результирующий объект имеет внутренний слот, значением которого является значение String. Объект String может быть приведен к значению String путем вызова конструктора String как функции (22.1.1.1).

4.4.23 Number value

Примитивное значение, соответствующее значению IEEE 754-2019 в 64-битном двоичном формате двойной точности

ПРИМЕЧАНИЕ

Числовое значение является членом числового типа и является прямым представлением числа.

4.4.24 Number type

Набор всех возможных числовых значений, включая специальное значение «Not-a-Number» (NaN), положительную бесконечность и отрицательную бесконечность

4.4.25 Number object

Член типа Object, который является экземпляром стандартного встроенного конструктора Number

ПРИМЕЧАНИЕ

Объект Number создается с помощью конструктора Number в новом выражении new, передавая значение Number в качестве аргумента. Результирующий объект имеет внутренний слот, значением которого является значение Number. Объект Number может быть приведен к значению Number путем вызова конструктора Number как функции (21.1.1.1).

4.4.26 Infinity

Числовое значение, которое является положительным бесконечным числовым значением

4.4.27 NaN

Числовое значение, которое является значением IEEE 754-2019 «Not-a-Number».

4.4.28 BigInt value

Примитивное значение, соответствующее целочисленному значению произвольной точности

4.4.29 BigInt type

Набор всех возможных значений BigInt

4.4.30 BigInt object

Член типа Object, являющийся экземпляром стандартного встроенного конструктора BigInt

4.4.31 Symbol value

Примитивное значение, представляющее уникальный ключ свойства не String Object

 

4.4.32 Symbol type

Набор всех возможных значений символов

4.4.33 Symbol object

Член типа Object, который является экземпляром стандартного встроенного конструктора Symbol

4.4.34 function

Член типа Object, который может быть вызван как подпрограмма

ПРИМЕЧАНИЕ

Помимо свойств, функция содержит исполняемый код и состояние, определяющие ее поведение при вызове. Код функции может быть написан или не написан на ECMAScript.

4.4.35 built-in function

Встроенный объект, который является функцией

ПРИМЕЧАНИЕ

Примеры встроенных функций включают parseInt и Math.exp. Хост или реализация могут предоставлять дополнительные встроенные функции, которые не описаны в этой спецификации.

4.4.36 property

Часть объекта, которая связывает ключ (либо строковое значение String, либо значение символа Symbol) и значение

ПРИМЕЧАНИЕ

В зависимости от формы свойства значение может быть представлено либо непосредственно как значение данных (примитивное значение, объект или объект функции), либо косвенно парой функций доступа.

4.4.37 method

Функция, которая является значением свойства

ПРИМЕЧАНИЕ

Когда функция вызывается как метод объекта, объект передается функции как значение this.

4.4.38 built-in method

Метод, который является встроенной функцией

ПРИМЕЧАНИЕ

Стандартные встроенные методы определены в этой спецификации. Хост или реализация могут предоставлять дополнительные встроенные методы, которые не описаны в этой спецификации.

4.4.39 attribute

Внутреннее значение, определяющее некоторую характеристику свойства

4.4.40 own property

Свойство, которое непосредственно содержится в его объекте

4.4.41 inherited property

Свойство объекта, которое не является собственным свойством, но является свойством (собственным или унаследованным) прототипа объекта

 

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

ECMAScript | Обзор

Стандарт ECMAScript — Раздел «4 Overview» — https://tc39.es/ecma262/#sec-overview

Стандарт ECMAScript — Раздел «4.4 Terms and Definitions» — https://tc39.es/ecma262/#sec-terms-and-definitions