We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

概要

Reflect は、インターセプトが可能な JavaScript 操作に対するメソッドを提供するビルトインオブジェクトです。メソッドは proxy handlers のメソッドと同じです。Reflect は関数オブジェクトではありませんので、構築ができません。

説明

他のグローバルオブジェクトとは異なり、Reflectはコンストラクタではありません。new オペレータで使用したり、関数としてReflect オブジェクトを呼び出すことはできません。Reflectのすべてのプロパティとメソッドは(Mathオブジェクトの場合のように)静的です。

メソッド

Reflect オブジェクトは proxy handler methodsと同じ名前をもち、Objectのメソッドのいくつかと重複する静的な関数を提供します。:

Reflect.apply()
args引数によって指定される値をもつターゲット関数を呼び出します。Function.prototype.apply()も確かめて下さい。
Reflect.construct()
new オペレータnew target(...args)を呼び出すのと同等です。
Reflect.defineProperty()
Object.defineProperty()に似ています。Booleanを返します。
Reflect.deleteProperty()
delete オペレータdelete target[name]を呼び出すのと同等です。
Reflect.get()
プロパティの値を返す関数。
Reflect.getOwnPropertyDescriptor()
Object.getOwnPropertyDescriptor()に似ています。指定したプロパティが存在する場合にプロパティディスクリプタを返すか、存在しない場合には undefined を返します。
Reflect.getPrototypeOf()
Object.getPrototypeOf()と同じです。
Reflect.has()
in オペレータ 。 独自か継承したプロパティが存在するかどうかを示すbooleanを返します。
Reflect.isExtensible()
Object.isExtensible()と同じです。
Reflect.ownKeys()
独自の(継承されない)プロパティのキーをもつ文字列の配列を返します。
Reflect.preventExtensions()
Object.preventExtensions()に似ています。Booleanを返します。
Reflect.set()
値をプロパティに割り当てる関数。更新が成功したらtrueであるBooleanを返します。
Reflect.setPrototypeOf()
オブジェクトのプロトタイプを設定する関数。

仕様

仕様 状況 コメント
ECMAScript 2015 (6th Edition, ECMA-262)
Reflect の定義
標準 最初期の定義
ECMAScript Latest Draft (ECMA-262)
Reflect の定義
ドラフト Reflect.enumerate を削除

ブラウザ実装状況

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

機能 Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
基本サポート 49 (有) 42 (42) 未サポート 未サポート 未サポート
機能 Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
基本サポート 49 49 42.0 (42) 未サポート 未サポート 未サポート

関連情報

ドキュメントのタグと貢献者

このページの貢献者: imanabu, yyss, shide55
最終更新者: imanabu,