Символы JavaScript

Давайте поговорим о новейшем примитиве JavaScript

Краткий обзор символов JavaScript

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

Чтобы лучше понять, сравним две логические переменные:

let x = true
let y = true
console.log(‘x === y’, x === y)

В этом случае два логических значения x и y равны.

let a = Symbol()
let b = Symbol()
console.log(‘a === b’, a === b)

Но в этом случае здесь a и b не равны. Это потому, что символы представляют уникальные значения.

При желании мы можем передать метку при создании символа:

let sku = Symbol("sku")

Пример использования

Допустим, мы получаем пользовательский объект из вызова API, которому мы хотим присвоить ему уникальный идентификатор из нашей собственной клиентской системы. Мы не хотим перезаписывать свойство id исходного объекта нашим идентификатором.

userFromApi:
{
  id: 143,
  firstName: 'Simon',
  lastName: 'Le Bon'
}

const idSym = Symbol('id')

userFromApi[idSym] = 32415343534 // our id for user
console.log("userFromApi", userFromApi)

{
  "id": 143,
  "firstName": "Simon",
  "lastName": "Le Bon",
  Symbol(id): 32415343534
}

console.log("userFromApi[idSym]", userFromApi[idSym])

userFromApi[idSym] 32415343534

https://www.youtube.com/watch?v=4J5hnOCj69w
https://javascript.info/symbol
https://developer.mozilla.org/en-US/docs/Glossary/symbol

Suggested posts

Мои наиболее используемые ресурсы кодирования

Мои наиболее используемые ресурсы кодирования

На этой неделе я получил электронное письмо от участника ежедневного списка рассылки. Они хотели знать: какие ресурсы вы посещаете ежедневно, еженедельно и ежемесячно? Отличный вопрос! Я рад поделиться некоторыми мыслями о моем рабочем процессе и основных ресурсах, которые я использую.

Серия Lit library - 1: Глубокое погружение в библиотеку lit-html

Серия Lit library - 1: Глубокое погружение в библиотеку lit-html

Цель этой серии блогов — углубиться в библиотеку Lit и получить всестороннее представление о ее уникальных функциях и о том, чем она отличается от других библиотек и фреймворков на рынке. Серия разделена на три части, охватывающие такие темы, как 1.

Related posts

Медленная эрозия: раскрытие того, как люди угасают в своей карьере

Медленная эрозия: раскрытие того, как люди угасают в своей карьере

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

местоимения очень страшные

Это поражает меня Внезапно, как это часто бывает, Это снова и снова на полпути <Нет, не то, что в Тихом океане, ты темно-бордовый, то, что на карнавале> Каждый громкий заголовок…..

Преследование христиан: преступление на почве ненависти, о котором мы не говорим

Забудьте об исламофобии: христиане (и евреи) являются главными жертвами преступлений на почве религиозной ненависти.

Преследование христиан: преступление на почве ненависти, о котором мы не говорим

Любой здравомыслящий человек знает, что в политических и медийных кругах доминируют левые, даже крайне левые, что создает дисбаланс в политическом дискурсе. В области религии этот дисбаланс хорошо виден: левые газеты и сети не спешат защищать христианскую веру.

Два года в дизайне: хорошее, плохое и уродливое…

Два года в дизайне: хорошее, плохое и уродливое…

«Привет, Siri, включи Me Dive Оливии Дин». В мае 2021 года я начал стажировку в Future Academy Africa в Акуре, Нигерия.