MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

На этой странице описывается тип данных «символ» и функция «Symbol()», которая (среди прочего) создает экземпляры типа «символ».

Symbol​ (Символ) — примитивный тип данных, экземпляры которого уникальны и неизменяемы. В некоторых языках программирования символы также называются атомами.

В среде выполнения JavaScript значение «символа» создается путем вызова функции Symbol (), которая динамически создает анонимное и уникальное значение. Единственное разумное использование — сохранить символ, а затем использовать сохраненное значение для создания свойства объекта. Следующий пример хранит символ в «var».

var  myPrivateMethod  = Symbol();
this[myPrivateMethod] = function() {...};

Когда символ используется как идентификатор в присваивании свойства, свойство (например, символ) является анонимным; а также не исчеслимым. Поскольку свойство не исчеслимо, оно не будет отображаться в цикле «for (... in ...)», и поскольку свойство является анонимным, оно не будет отображаться в массиве результатов "Object.getOwnPropertyNames ()". Доступ к этому свойству можно получить с помощью исходного значения символа, создавшего его, или путем иьерирования в массиве результатов «Object.getOwnPropertySymbols ()». В предыдущем примере кода доступ к свойству будет осуществляться через значение, которое было сохранено в переменной myPrivateMethod.

Узнать больше

Общие сведения

Метки документа и участники

 Внесли вклад в эту страницу: GRIDARK, animhotep, neutral
 Обновлялась последний раз: GRIDARK,