Reflect

by 1 contributor:

This article is in need of an editorial review.

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

これは Harmony(ECMAScript 6) 提案の一部であり、実験段階の技術です。
この技術の仕様は安定していません。ブラウザ互換性の一覧表を確認してください。またこれらの構文や動作は、仕様変更などにより、新しいバージョンのブラウザでは変更される可能性があるという点に注意してください。

概要

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.enumerate()
for...in ループと似ています。ターゲットオブジェクトの継承した独自の列挙プロパティをもつイテレータを返します。
Reflect.get()
プロパティの値を返す関数。
Reflect.getOwnPropertyDescriptor()
Object.getOwnPropertyDescriptor()に似ています。Booleanを返します。
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)
The definition of 'Reflect' in that specification.
Standard Initial definition.

ブラウザ実装状況

機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari
基本サポート 未サポート 未サポート
バグ 987514
12 未サポート 未サポート
機能 Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
基本サポート 未サポート 未サポート 未サポート 未サポート 未サポート 未サポート

関連情報

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

Contributors to this page: shide55
最終更新者: shide55,