Symbol (Символ)
На этой странице описывается тип данных «символ» и функция «Symbol
()
», которая (среди прочего) создаёт экземпляры типа «символ».
Symbol (Символ) — примитивный тип данных, экземпляры которого уникальны и неизменяемы. В некоторых языках программирования символы также называются атомами.
В среде выполнения JavaScript значение «символа» создаётся путём вызова функции Symbol (), которая динамически создаёт анонимное и уникальное значение. Единственное разумное использование — сохранить символ, а затем использовать сохранённое значение для создания свойства объекта. Следующий пример хранит символ в «var».
js
var myPrivateMethod = Symbol();
this[myPrivateMethod] = function() {...};
Когда символ используется как идентификатор в присваивании свойства, свойство (например, символ) является анонимным; а также не исчислимым. Поскольку свойство не исчислимо, оно не будет отображаться в цикле «for (... in ...)», и поскольку свойство является анонимным, оно не будет отображаться в массиве результатов "Object.getOwnPropertyNames ()". Доступ к этому свойству можно получить с помощью исходного значения символа, создавшего его, или путём итерирования в массиве результатов «Object.getOwnPropertySymbols ()». В предыдущем примере кода доступ к свойству будет осуществляться через значение, которое было сохранено в переменной myPrivateMethod.