[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Reflect [Back]  [Original]

Reflect - JavaScript | MDN

Esta pgina foi traduzida do ingls pela comunidade. Saiba mais e junte-se comunidade MDN Web Docs.

View in English Always switch to English

Reflect

Baseline Widely available

This feature is well established and works across many devices and browser versions. Its been available across browsers since setembro de 2016.

Reflect um objeto nativo que prov mtodos para operaes JavaScript interceptveis. Os mtodos so os mesmos que o dos manipuladores de Proxy. Reflect no um objeto de funo, ento no construtvel.

In this article

Descrio

Ao contrrio da maioria dos objetos globais, Reflect no um construtor. Voc no pode us-lo com o operador new ou invocar o objeto Reflect como uma funo. Todas as propriedades e mtodos do Reflect so estticos (igual o objeto Math).

O objeto Reflect prov as seguintes funes estticas as quais tem os mesmos nomes usados pelos mtodos manipuladores de Proxy.

Alguns deste mtodos so tambm os mesmos correspondentes aos mtodos em Object, embora eles tenham diferenas sutis entre eles.

Mtodos

Reflect.apply(target, thisArgument, argumentsList)

Chama uma funo de destino com os argumentos, conforme especificado pelo parmetro argumentsList. Veja tambm Function.prototype.apply().

Reflect.construct(target, argumentsList[, newTarget])

O operador new como uma funo. Equivalente a chamada new target(...args). Tambm possui a opo de especificar um prototype diferente

Reflect.defineProperty(target, propertyKey, attributes)

Similar ao Object.defineProperty(). Retorna um Boolean com o valor true se a propriedade foi definida com sucesso.

Reflect.deleteProperty(target, propertyKey)

O operador delete como uma funo. Equivalente a chamada delete target[name].

Reflect.get(), "Reflect.get(target, propertyKey[, receiver])"}}

Uma funo que retorna o valor da propriedade. Funciona como obter uma propriedade de um objeto (target[propertyKey]) como uma funo.

Reflect.getOwnPropertyDescriptor(target, propertyKey)

Similar ao Object.getOwnPropertyDescriptor(). Retorna um descritor de propriedade da propriedade dada se existir no objeto, undefined caso contrrio.

Reflect.getPrototypeOf(target)

Igual ao Object.getPrototypeOf().

Reflect.has(target, propertyKey)

O operador in como funo. Retorna um Boolean indicando se existe uma propriedade prpria ou herdada.

Reflect.isExtensible(target)

Igual ao Object.isExtensible(). Retorna um Boolean com o valor true se o destino (parmetro target) for extensvel.

Reflect.ownKeys(target)

Retorna uma matriz das chaves de propriedade do prprio objeto de destino (no herdadas).

Reflect.preventExtensions(target)

Similar ao Object.preventExtensions(). Retorna um Boolean com o valor true se a atualizao foi bem sucedida.

Reflect.set(target, propertyKey, value[, receiver])

Uma funo que atribui valores a propriedades. Retorna um Boolean com o valor true se a atualizao foi bem sucedida.

Reflect.setPrototypeOf(target, prototype)

Uma funo que define o prottipo de um objeto. Retorna um Boolean com o valor true se a atualizao foi bem sucedida.

Exemplos

Verificando se um objeto contm determinadas propriedades

js
const duck = {
  name: "Maurice",
  color: "white",
  greeting: function () {
    console.log(`Quaaaack! My name is ${this.name}`);
  },
};

Reflect.has(duck, "color");
// true
Reflect.has(duck, "haircut");
// false

Retornando as prprias chaves do objeto

js
Reflect.ownKeys(duck);
// [ "name", "color", "greeting" ]

Adicionando uma nova propriedade ao objeto

js
Reflect.set(duck, "eyes", "black");
// returns "true" if successful
// "duck" now contains the property "eyes: 'black'"

Especificaes

Specification
ECMAScript 2027 LanguageSpecification
# sec-reflect-object

Compatibilidade com navegadores

Veja tambm


Web Proxy Viewer  |  New URL  |  Original Page