Символ — это тип данных в JS. Обычно он используется для создания уникальных ключей и ключей скрытых объектов в Javascript.
Глобальный реестр символов: Глобальный реестр символов — это пространство, в котором хранятся символы, созданные с помощью Symbol.for.
синтаксис
В примере ниже «john» — это дескриптор, а key_one и key_two — символ.
const key_one = Symbol("john"); //local symbol const key_two = Symbol.for("john"); //global symbol console.log(typeof key_one) // symbol console.log(typeof key_two); //symbol
Как я уже говорил ранее, каждый символ уникален, даже если дескриптор одинаков в локальных символах. Давайте проверим это.
приложение
const key_one = Symbol("john"); const key_two = Symbol("john"); key_one == key_two // false key_one === key_two //false
const key_one = Symbol.for("foo"); const key_two = Symbol.for("foo"); console.log(key_one === key_two); //true
приложение
const zero = Symbol("0"); const temp = { 0:"zero", 1:"one", [zero]:"zero", 1.1:"one one", } const keys = Object.keys(temp); //["0","1","1.1"] console.log(temp[1.1]) // one one console.log(Object.getOwnPropertySymbols(temp)) // [Symbol(0)]
Используя символ.keyFor(symbol), вы можете получить дескриптор глобальных символов.
const key_one = Symbol.for("john") Symbol.keyFor(key_one) // "john" typeof Symbol.keyFor(key_one) //string
Поддержите меня на dev.to и linkedin ?. ТИ?
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3