Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
В чем особенность хранения объектов?
Объекты в JavaScript хранятся по ссылке. Это означает, что когда объект присваивается переменной или передается в функцию, копируется не сам объект, а ссылка на него. Поэтому любые изменения объекта через одну переменную будут видны и через другие переменные, которые ссылаются на этот объект.
Как сравниваются объекты?
В JavaScript объекты сравниваются по ссылке, а не по значению. Это означает, что два объекта считаются равными (===), только если они ссылаются на один и тот же объект в памяти. Даже если два объекта имеют одинаковые свойства и значения, они не будут равны, если это разные экземпляры.
Для чего нужен конструктор объектов и какие правила работы с ним?
Конструктор объектов используется для создания новых экземпляров объектов с одинаковой структурой и методами. В JavaScript для этого можно использовать функцию-конструктор или класс. Конструктор должен быть вызван с ключевым словом new, что создает новый объект, связывая его с прототипом конструктора.
Объясните концепцию прототипного наследования в JavaScript?
Прототипное наследование — это механизм в JavaScript, при котором объекты могут наследовать свойства и методы от других объектов через цепочку прототипов. Каждый объект в JavaScript имеет скрытую ссылку на свой прототип, что позволяет получать доступ к свойствам и методам, которые не определены непосредственно на объекте. Основной механизм наследования в JavaScript базируется на связи через прототипы, а не на классах, как в других языках программирования.
Что такое JSON, для чего его используют и какие методы есть?
JSON (JavaScript Object Notation) — это текстовый формат для представления данных в виде объектов и массивов. Он используется для обмена данными между клиентом и сервером. Для работы с JSON в JavaScript используются методы JSON.stringify() для преобразования объекта в строку и JSON.parse() для преобразования строки в объект.
Как работает процесс boxing и unboxing в JavaScript и где это применяется?
Почему объекты в JavaScript нельзя сравнить по значению через ===?
Что такое поверхностное копирование объектов?
Как ведут себя объекты при присваивании одной переменной другой?
Откуда у строк появляются методы вроде toString()?
Рейтинг:
3
Сложность:
7
Boxing — это процесс, при котором примитивные значения (например, числа или строки) временно преобразуются в объекты, чтобы иметь доступ к методам, как у объектов. Unboxing — это обратный процесс, когда объект возвращается обратно в примитивное значение. Эти процессы происходят автоматически в JavaScript, когда вы пытаетесь использовать методы на примитивных типах данных, таких как строки или числа.
Рейтинг:
5
Сложность:
6
Объекты в JavaScript сравниваются по ссылке, а не по содержимому. Даже если два объекта имеют одинаковые поля и значения, они считаются разными, если созданы отдельно. Оператор === проверяет, указывают ли переменные на один и тот же объект в памяти. Поэтому сравнение по значению через === невозможно. Это фундаментальное свойство языка.
Рейтинг:
5
Сложность:
4
Поверхностное копирование — это копирование объекта, при котором копируются только его свойства первого уровня.
Если свойство содержит вложенный объект, копируется не сам объект, а ссылка на него.
В результате исходный и скопированный объект частично разделяют одни и те же данные.
Изменения во вложенных объектах будут видны в обеих копиях.
Рейтинг:
5
Сложность:
4
Когда вы присваиваете объект одной переменной другой, копируется не объект, а ссылка на него. В итоге обе переменные указывают на один и тот же объект в памяти. Если изменить объект через одну переменную, изменения будут видны через другую. Чтобы получить независимую копию, нужно явно копировать объект.
Рейтинг:
5
Сложность:
6
Строки — это примитивы, но при обращении к методу JavaScript временно оборачивает строку в объект String. Этот объект содержит методы, определённые в String.prototype. После вызова метода временный объект сразу удаляется. Поэтому методы у строк выглядят как “родные”, хотя сами строки объектами не являются.
Рейтинг:
3
Сложность:
3
Рейтинг:
4
Сложность:
5
Рейтинг:
3
Сложность:
6
Рейтинг:
4
Сложность:
9
Рейтинг:
3
Сложность:
4