Какие знаешь типы данных в JS · Frontend Developer — JobPilot

Какие знаешь типы данных в JS

Frontend Developer · 17%
Вопрос 1887 / #
Пример ответа

Коротко: В JavaScript я работаю с примитивными типами данных (string, number, boolean, null, undefined, symbol, bigint) и ссылочными типами (object, array, function).

Ключевые идеи:
  • Примитивные типы хранятся по значению и неизменяемы, включая string, number, boolean, null, undefined, symbol и bigint.
  • Ссылочные типы (object, array, function) хранятся по ссылке, изменяемы и поддерживают сложные структуры данных.
  • Динамическая типизация JavaScript позволяет автоматическое преобразование типов, что требует внимания при сравнениях и операциях.
Пример: Например, при сравнении '5' == 5 возвращается true из-за неявного преобразования, а '5' === 5 — false, так как строго проверяются тип и значение.
Пример объявления и использования различных типов данных в JavaScript
javascript
// Примитивные типы
let name = 'Alice'; // string
let age = 30; // number
let isActive = true; // boolean
let empty = null; // null
let notDefined; // undefined
let id = Symbol('id'); // symbol
let bigNumber = 9007199254740991n; // bigint

// Ссылочные типы
let user = { name: 'Bob', age: 25 }; // object
let colors = ['red', 'green', 'blue']; // array
function greet() { return 'Hello!'; } // function

// Проверка типов
console.log(typeof name); // 'string'
console.log(typeof age); // 'number'
console.log(typeof user); // 'object'
console.log(Array.isArray(colors)); // true
console.log(typeof greet); // 'function'
Вопросы для интервьюера:
  • Как вы проверяете тип данных для массивов и null в JavaScript?Для массивов использую Array.isArray(), а для null — строгое сравнение (value === null), так как typeof null возвращает 'object'.
  • Какие особенности bigint и symbol вы использовали в проектах?Bigint применял для работы с большими числами в финансовых расчётах, а Symbol — для создания уникальных ключей в объектах, избегая конфликтов.
Практический совет (на неделю):
  1. Используйте строгое сравнение (===) вместо нестрогого (==) для избежания неожиданных преобразований типов.
  2. Практикуйтесь с typeof и instanceof для отладки типов в сложных приложениях, особенно при интеграции с API.

Мы используем cookie для улучшения сайта. Продолжая пользоваться сайтом, вы соглашаетесь с политикой cookie и политикой конфиденциальности.