Можете объяснить, что представляет собой класс Reflect в JavaScript и для чего он используется?

Вопрос касается JavaScript, но модуль указан Golang — отвечу по JavaScript.

Короткий ответ

Что ответить на собеседовании

Вопрос касается JavaScript, но модуль указан Golang — отвечу по JavaScript.

Подробный разбор

Ответ с пояснениями

Вопрос касается JavaScript, но модуль указан Golang — отвечу по JavaScript.

Reflect — это встроенный объект в JavaScript, предоставляющий методы для перехвата и управления операциями с объектами, такими как получение и установка свойств, вызов функций, создание объектов и т.д. Он служит как набор утилит для метапрограммирования.

Основная цель Reflect — предоставить функциональность, аналогичную внутренним методам объектов, но в виде обычных функций, что упрощает работу с прокси и динамическими операциями.

Пример:

const obj = {a: 1};

// Получение свойства
console.log(Reflect.get(obj, 'a')); // 1

// Установка свойства
Reflect.set(obj, 'b', 2);
console.log(obj.b); // 2

// Проверка наличия свойства
console.log(Reflect.has(obj, 'a')); // true

// Вызов функции
function sum(x, y) { return x + y; }
console.log(Reflect.apply(sum, null, [1, 2])); // 3

Таким образом, Reflect помогает более явно и безопасно управлять объектами и их поведением.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку