Junior — Middle
Můžete vysvětlit, co je třída Reflect v JavaScriptu a k čemu slouží?
sobes.tech AI
Odpověď od AI
Otázka se týká JavaScriptu, ale uvedený modul je Golang — odpovím v JavaScriptu.
Reflect je vestavěný objekt v JavaScriptu, který poskytuje metody pro zachycení a správu operací s objekty, jako je získávání a nastavování vlastností, volání funkcí, vytváření objektů atd. Slouží jako sada utilit pro metaprogramování.
Hlavním cílem Reflect je poskytnout funkčnost podobnou vnitřním metodám objektů, ale ve formě běžných funkcí, což usnadňuje práci s proxy a dynamickými operacemi.
Příklad použití:
const obj = {a: 1};
// Získání vlastnosti
console.log(Reflect.get(obj, 'a')); // 1
// Nastavení vlastnosti
Reflect.set(obj, 'b', 2);
console.log(obj.b); // 2
// Kontrola existence vlastnosti
console.log(Reflect.has(obj, 'a')); // true
// Volání funkce
function sum(x, y) { return x + y; }
console.log(Reflect.apply(sum, null, [1, 2])); // 3
Tímto způsobem Reflect pomáhá explicitněji a bezpečněji spravovat objekty a jejich chování.