Вопросы React Frontend Developer
Как запечатать объект?
Рейтинг:
3
Сложность:
7
Запечатать объект в JavaScript означает сделать его неизменяемым, чтобы нельзя было добавлять, удалять или изменять его свойства. Это можно сделать с помощью метода Object.freeze(), который замораживает объект и делает его свойства неизменяемыми.
Что такое флаги свойств объекта и как изменить флаги?
Рейтинг:
3
Сложность:
8
Флаги свойств объекта в JavaScript определяют, как свойства могут быть изменены, удалены или перезаписаны. Основные флаги — это writable, enumerable и configurable. Их можно изменить с помощью метода Object.defineProperty(), который позволяет задать или изменить эти характеристики для конкретного свойства объекта.
Для чего нужен конструктор объектов и какие правила работы с ним?
Рейтинг:
3
Сложность:
6
Конструктор объектов используется для создания новых экземпляров объектов с одинаковой структурой и методами. В JavaScript для этого можно использовать функцию-конструктор или класс. Конструктор должен быть вызван с ключевым словом new, что создает новый объект, связывая его с прототипом конструктора.
Для чего и как работает this в методах объекта?
Рейтинг:
4
Сложность:
6
В методах объекта this указывает на сам объект, к которому принадлежит метод. Это позволяет методам объекта работать с его свойствами и другими методами. Значение this может изменяться в зависимости от того, как вызван метод, поэтому важно понимать контекст вызова.
Перечислите основные методы объектов?
Рейтинг:
3
Сложность:
5
Основные методы объектов включают Object.keys(), который возвращает массив ключей объекта, Object.values(), который возвращает массив значений объекта, и Object.entries(), который возвращает массив пар ключ-значение. Также есть Object.assign(), который используется для копирования объектов, и Object.freeze(), который "замораживает" объект, предотвращая его дальнейшее изменение.
Перечислите все способы копирования объектов?
Рейтинг:
5
Сложность:
6
Объекты можно копировать несколькими способами. Поверхностное копирование можно сделать с помощью Object.assign(), оператора распространения { ...obj }, а для глубокого копирования часто используют JSON.parse(JSON.stringify(obj)). Поверхностная копия копирует только верхний уровень свойств, в то время как глубокая копия копирует все уровни объекта, включая вложенные.
Как сравниваются объекты?
Рейтинг:
4
Сложность:
5
В JavaScript объекты сравниваются по ссылке, а не по значению. Это означает, что два объекта считаются равными (===), только если они ссылаются на один и тот же объект в памяти. Даже если два объекта имеют одинаковые свойства и значения, они не будут равны, если это разные экземпляры.
В чем особенность хранения объектов?
Рейтинг:
3
Сложность:
3
Объекты в JavaScript хранятся по ссылке. Это означает, что когда объект присваивается переменной или передается в функцию, копируется не сам объект, а ссылка на него. Поэтому любые изменения объекта через одну переменную будут видны и через другие переменные, которые ссылаются на этот объект.
Что такое объект и зачем он нужен?
Рейтинг:
2
Сложность:
3
Объект — это структура данных, которая хранит информацию в виде пар "ключ-значение". Ключи обычно являются строками (или символами), а значения могут быть любого типа, включая другие объекты. Объекты используются для хранения связанных данных и работы с ними в виде одного целого.
Что можно передавать в качестве параметра в функцию?
Рейтинг:
3
Сложность:
3
В JavaScript в функцию можно передавать любые значения: примитивные типы (числа, строки, булевы значения), объекты, массивы, другие функции (колбэки). Также можно задавать значения по умолчанию для параметров, если функция вызывается без них.