Встречается на собеседованиях • сегодня

В чем разница между значением и идентичностью

В JavaScript различают значение (value) и идентичность (identity).

  • Значение — это данные, которые хранит переменная (число, строка, булево значение и т. д.).
  • Идентичность — это ссылка на объект в памяти.

Примитивы (строки, числа, булевы) сравниваются по значению:

javascript
5 === 5 // true  
'hello' === 'hello' // true  

Объекты (включая массивы и функции) сравниваются по идентичности (ссылки):

javascript
{} === {} // false (разные объекты в памяти)  
const arr = [1, 2];  
const arrCopy = arr;  
arr === arrCopy // true (одна и та же ссылка)  

Для глубокого сравнения объектов используют JSON.stringify() или библиотеки вроде Lodash (_.isEqual()).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы