Junior — Middle
Можете ли да обясните какво представлява класът Reflect в JavaScript и за какво се използва?
sobes.tech AI
Отговор от AI
Въпросът се отнася до 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 помага по-ясно и безопасно да се управляват обекти и тяхното поведение.