Esta página foi traduzida do inglês pela comunidade. Saiba mais e junte-se à comunidade MDN Web Docs.

View in English Always switch to English

Reflect.set()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨setembro de 2016⁩.

O método estático Reflect.set() define uma propriedade em um objeto.

Sintaxe

Reflect.set(alvo, propriedade, valor[, receptor])

Parâmetros

alvo

O objeto alvo onde a propriedade será definida.

propriedade

O nome da propriedade a ser definida.

valor

o valor a ser definido para a propriedade.

receptor

O valor do this fornecido para a chamada do alvo se um setter é encontrado.

Retorno

Um Boolean indicando se a definicão da propriedade ocorreu com sucesso ou não.

Exceções

Um TypeError, se o alvo não for um Object.

Descrição

O método Reflect.set permite que você defina uma propriedade em um objeto. Ele define a propriedade e is like the property accessor syntax as a function.

Exemplos

Usando Reflect.set()

js
// Object
var obj = {};
Reflect.set(obj, "prop", "value"); // true
obj.prop; // "value"

// Array
var arr = ["duck", "duck", "duck"];
Reflect.set(arr, 2, "goose"); // true
arr[2]; // "goose"

// É possível truncar o array
Reflect.set(arr, "length", 1); // true
arr; // ["duck"];

// Com apenas um argumento, propertKey e valor são undefined
var obj = {};
Reflect.set(obj); // true
Reflect.getOwnPropertyDescriptor(obj, "undefined");
// { value: undefined, writable: true, enumerable: true, configurable: true }

Especificações

Specification
ECMAScript® 2026 Language Specification
# sec-reflect.set

Compatilibidade com navegadores

Veja também