Специализация
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 для этого можно использовать функцию-конструктор или класс. Конструктор должен быть вызван с ключевым словом new, что создает новый объект, связывая его с прототипом конструктора.
Как проверить, является ли объект экземпляром определенного класса (функции-конструктора)?
Для проверки, является ли объект экземпляром определенного класса или функции-конструктора, используется оператор instanceof. Он проверяет, есть ли в цепочке прототипов объекта ссылка на прототип конструктора.
Почему не рекомендуется использовать конструкторы, такие как new String, в JavaScript?
Использование конструкторов, таких как new String или new Number, не рекомендуется, так как они создают объект вместо примитива. Объекты ведут себя иначе, чем примитивные типы данных, и могут приводить к неожиданным результатам в сравнении и других операциях. Примитивные значения (например, строки или числа) следует использовать напрямую без конструкторов.
Что такое функция-конструктор?
Функция-конструктор - это обычная функция, которая используется с оператором new для создания объектов. Она определяет структуру и начальное состояние создаваемых объектов. При вызове с new функция создает новый объект, устанавливает его прототип и выполняет инициализацию через ключевое слово this.
Как определяется this внутри функции-конструктора?
При вызове функции-конструктора с оператором new, значение this автоматически устанавливается на вновь созданный объект. Этот объект создается неявно до выполнения кода конструктора. Все свойства и методы, добавленные через this, становятся частью создаваемого объекта.
Чему будет равен this при вызове функции-конструктора?
Создаёт ли функция-конструктор объект всегда?
Что произойдёт, если в функции-конструкторе вернуть примитив?
Что произойдёт, если в функции-конструкторе вернуть объект? Какой объект будет результатом — возвращённый или this?
Чем класс в JavaScript отличается от функции-конструктора?
Рейтинг:
3
Сложность:
5
При вызове функции-конструктора с оператором new, this равен вновь созданному объекту. Если функция вызывается без new, значение this зависит от контекста вызова - в строгом режиме это undefined, в нестрогом - глобальный объект (window в браузере).
Рейтинг:
3
Сложность:
6
Нет, функция-конструктор создает объект не всегда. Если функция вызывается без оператора new, объект не создается. Также, если конструктор явно возвращает объект, то созданный автоматически объект игнорируется. Только при вызове с new и без возврата объекта создается новый экземпляр.
Рейтинг:
3
Сложность:
5
Если функция-конструктор возвращает примитивное значение (число, строку, boolean, null, undefined, символ), это возвращаемое значение игнорируется. В результате все равно возвращается вновь созданный объект, на который ссылается this. Механизм new переопределяет возврат примитивов.
Рейтинг:
4
Сложность:
7
Если функция-конструктор возвращает объект, то возвращается именно этот объект, а не автоматически созданный через this. Возвращаемый объект полностью заменяет объект, на который ссылается this. Это позволяет создавать фабричные методы и контролировать процесс создания объектов.
Рейтинг:
4
Сложность:
7
Классы предоставляют более декларативный и читаемый синтаксис для работы с прототипами. Функции-конструкторы требуют ручной работы с prototype. Классы вводят ограничения, например запрет вызова без new. При этом под капотом используется та же прототипная модель. Различие в основном синтаксическое и поведенческое.
Рейтинг:
3
Сложность:
6
Рейтинг:
3
Сложность:
6
Рейтинг:
2
Сложность:
7
Рейтинг:
4
Сложность:
4
Рейтинг:
4
Сложность:
6