Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: тип данных, symbol

Что такое тип данных Symbol и где его можно применить на практике?

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

Короткий ответ

Symbol — это уникальный и неизменяемый тип данных, который используется как идентификатор для свойств объектов. Каждое значение Symbol гарантированно уникально, даже если их значения совпадают. На практике Symbol применяется для создания уникальных ключей объектов, которые не будут конфликтовать с другими свойствами, что полезно для защиты данных от перезаписи.

Длинный ответ

Symbol — это примитивный тип данных, введённый в ECMAScript 6 (ES6). Символы создаются с помощью функции Symbol() и всегда уникальны, даже если два символа созданы с одним и тем же описанием:

const sym1 = Symbol('id'); 
const sym2 = Symbol('id'); 
console.log(sym1 === sym2); // false

Основные свойства Symbol:

  • Символы уникальны: даже если два символа имеют одинаковое описание, они не равны друг другу.

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

Применение на практике:

  • Уникальные ключи для объектов: Символы могут использоваться как уникальные идентификаторы для свойств объектов, что предотвращает возможные конфликты с другими свойствами:

    const myObj = {}; 
    const sym = Symbol('uniqueKey'); 
    myObj[sym] = 'Symbol value'; 
    console.log(myObj[sym]); // 'Symbol value'
  • Символы для описания скрытых свойств: Символы можно использовать для создания "скрытых" свойств, которые не будут видны при переборе объекта с помощью циклов, таких как for...in. Это позволяет создавать свойства, которые будут скрыты от большинства операций:

    const hidden = Symbol('hidden'); 
    const obj = {
    	[hidden]: 'secret value',  
    	visible: 'public value' 
    }; 
    for (let key in obj) {
    	console.log(key); // выведет только 'visible' 
    }
  • Встроенные символы: Есть также специальные встроенные символы, такие как Symbol.iterator, которые используются в JavaScript для реализации итераторов.

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

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#тип данных

#symbol

Подпишись на React Developer в телеграм