★ wanayoo — archive 1999 https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/ReflectNouvelle recherche | Portail wanayoo

Reflect

by 1 contributor:

This translation is incomplete. Please help translate this article from English.

Это экспериментальная технология, часть предложения Harmony (ECMAScript 6).
Поскольку спецификация этой технологии ещё не стабилизировалась, проверьте таблицу совместимости её использования в различных браузерах. Также обратите внимание, что синтаксис и поведение экспериментальной технологии могут быть изменены в будущих версиях браузеров в соответствии с изменениями в спецификации.

Reflect - это встроенный объект, который позволяет создавать методы, перехватывающие  операции JavaScript. При этом методы называются так же, как и методы proxy handler`ов. Reflect - это не функциональный, а простой объект, он не является сконструированным.

Описание

В отличие от большинства глобальных объектов, Reflect - это не конструктор. Вы не можете использовать его с оператором new или вызывать Reflect как функцию. Все свойства и методы объекта Reflect являются статическими (так же, как и у объекта Math).

Методы

Объект Reflect обеспечивает работу статических функций, называющиеся так же, как методы proxy handler`а. Некоторые из этих методов - те же, что и соответствующие им методы класса Object.

Reflect.apply()
Вызывает целевую функцию с аргументами, переданными в параметре args. См. так же Function.prototype.apply().
Reflect.construct()
 The new operator as a function. Equivalent to calling new target(...args).
Reflect.defineProperty()
Similar to Object.defineProperty(). Returns a Boolean.
Reflect.deleteProperty()
The delete operator as a function. Equivalent to calling delete target[name].
Reflect.enumerate()
Like the for...in loop. Returns an iterator with the enumerable own and inherited properties of the target object.
Reflect.get()
A function that returns the value of properties.
Reflect.getOwnPropertyDescriptor()
Similar to Object.getOwnPropertyDescriptor(). Returns a property descriptor of the given property if it exists on the object,  undefined otherwise.
Reflect.getPrototypeOf()
Same as Object.getPrototypeOf().
Reflect.has()
The in operator as function. Returns a boolean indicating whether an own or inherited property exists.
Reflect.isExtensible()
Same as Object.isExtensible().
Reflect.ownKeys()
Returns an array of strings with own (not inherited) property keys.
Reflect.preventExtensions()
Similar to Object.preventExtensions(). Returns a Boolean.
Reflect.set()
A function that assigns values to properties. Returns a Boolean that is true if the update was successful.
Reflect.setPrototypeOf()
A function that sets the prototype of an object.

Specifications

Specification Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)
Определение 'Reflect' в этой спецификации.
Стандарт Initial definition.

Browser compatibility

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Basic support 44 (Да) 42 (42) Нет Нет Нет
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support Нет Нет 42.0 (42) Нет Нет Нет

See also

Метки документа и участники

Contributors to this page: C`est la vie
Обновлялась последний раз: C`est la vie,