11 вопросов
Практика
Можешь объяснить назначение и функциональность getter и setter методов в JavaScript, включая то, как они обеспечивают инкапсуляцию свойств и валидацию данных?
Можешь объяснить, как работает цепочка прототипов в JavaScript и описать процесс наследования свойств объектом от его прототипов?
Можешь объяснить, как работает прототипное наследование в JavaScript, включая механизмы, благодаря которым объекты наследуют свойства и методы у других объектов?
Можешь объяснить назначение и использование метода `Object.create()` в JavaScript, включая то, как он устанавливает прототипное наследование?
Можешь объяснить различия между методами `Object.keys()`, `Object.values()` и `Object.entries()` в JavaScript, включая то, что возвращает каждый метод и какие свойства они включают или исключают?
Можешь объяснить различие между поверхностным и глубоким копированием в JavaScript и привести примеры методов для реализации каждого подхода?
Можешь ли ты объяснить ключевые различия между `Object.freeze()` и `Object.seal()` в JavaScript и описать, как их поведение отличается при работе с вложенными объектами?
Можешь объяснить различия между `for...in`, `Object.keys()` и `Object.getOwnPropertyNames()` с точки зрения того, какие свойства они перебирают или возвращают, и как они обрабатывают перечисляемые и неперечисляемые свойства, а также унаследованные свойства?
Можешь объяснить, как ключевое слово `this` привязывается в разных контекстах выполнения в JavaScript, включая вызовы методов, автономные функции, строгий режим, обработчики событий и стрелочные функции?
Чем отличается привязка `this` в стрелочных функциях от обычных функций в JavaScript?
Когда ты извлекаешь метод из объекта и вызываешь его как самостоятельную функцию, что происходит с привязкой `this` и почему?