Символы JavaScript

Простое руководство по пониманию символов JavaScript

Символ - это примитивный тип данных JavaScript, наряду снить,номер, логическое, нулевое и неопределенное.

Он был введен вECMAScript 2015, так что всего несколько лет назад.

Это очень своеобразный тип данных. После создания символа его значение остается конфиденциальным и используется для внутреннего использования.

Все, что остается после создания, - это ссылка на символ.

Вы создаете символ, вызываяSymbol()глобальная фабричная функция:

const mySymbol = Symbol()

Каждый раз, когда вы вызываетеSymbol()мы получаем новый уникальный символ, гарантированно отличающийся от всех остальных символов:

Symbol() === Symbol() //false

Вы можете передать параметр вSymbol(), и это используется как символописание, полезно только для отладки:

console.log(Symbol()) //Symbol()
console.log(Symbol('Some Test')) //Symbol(Some Test)

Символы часто используются для обозначения свойств объекта.

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

Или добавить свойства, которые пользователь не может перезаписать намеренно или не осознавая.

Примеры:

const NAME = Symbol()
const person = {
  [NAME]: 'Flavio'
}

person[NAME] //‘Flavio’ const RUN = Symbol() person[RUN] = () => ‘Person is running’ console.log(personRUN) //‘Person is running’

Символы не пронумерованы, что означает, что они не включаются вfor..ofили жеfor..inпетлянаехал на объект.

Символы не являются частьюObject.keys()или жеObject.getOwnPropertyNames()результат.

Вы можете получить доступ ко всем символам, назначенным объекту, с помощьюObject.getOwnPropertySymbols()метод.

Скачать мою бесплатнуюРуководство для начинающих по JavaScript


Больше руководств по js: