staticメソッド
Reflect.apply(ターゲット、thisArg、引数)
等価に Function.prototype.apply.call(func, thisArg, args)
Reflect.construct(ターゲット、引数)
等価に new target(...args)
new Student(name:'王五')
Reflect.get(ターゲット、名前、受信機)
var myObject = {
foo: 1,
bar: 2,
get baz() {
return this.foo + this.bar;
},
};
var myReceiverObject = {
foo: 4,
bar: 4,
};
Reflect.get(myObject, 'baz', myReceiverObject) // 8
Reflect.set(ターゲット、名前、値、受信機)
var myObject = {
foo: 4,
set bar(value) {
return this.foo = value;
},
};
var myReceiverObject = {
foo: 0,
};
Reflect.set(myObject, 'bar', 1, myReceiverObject);
myObject.foo // 4
myReceiverObject.foo // 1
Reflect.defineProperty(ターゲット、名前、DESC)
等価に Object.defineProperty
Reflect.deleteProperty(ターゲット、名前)
const myObj = { foo: 'bar' };
// 旧写法
delete myObj.foo;
// 新写法
Reflect.deleteProperty(myObj, 'foo');
Reflect.has(ターゲット、名前)
var myObject = {
foo: 1,
};
// 旧写法
'foo' in myObject // true
// 新写法
Reflect.has(myObject, 'foo') // true
Reflect.ownKeys(ターゲット)
これは、と等価であるの合計Object.getOwnPropertyNames
Object.getOwnPropertySymbols
Reflect.isExtensible(ターゲット)
Reflect.isExtensible
方法の対応するObject.isExtensible
現在のオブジェクトスケーラビリティかどうかを示すブール値を返し、
Reflect.preventExtensions(ターゲット)
Reflect.preventExtensions
対応するObject.preventExtensions
方法は、加工対象物の拡張のために使用できなくなったこと。これは、操作が成功したかどうかを示すブール値を返します。
Reflect.getOwnPropertyDescriptor(ターゲット、名前)
Reflect.getOwnPropertyDescriptor
実質的に同等のObject.getOwnPropertyDescriptor
失われた未来を置き換えるれる、指定された特性を得るために、オブジェクトを記述するための、
var a={sb:1}
Reflect.getOwnPropertyDescriptor(a, 'sb');
//{configurable: true,enumerable: true,value: 1,writable: true}
Reflect.getPrototypeOf(ターゲット)
Reflect.getPrototypeOf
オブジェクトの読み取り方法__proto__
属性対応しますObject.getPrototypeOf(obj)
。
Reflect.setPrototypeOf(ターゲット、試作品)
Reflect.setPrototypeOf
ターゲットオブジェクトプロトタイプ設定するための方法prototype
、対応するObject.setPrototypeOf(obj, newProto)
方法。これは、設定が成功したかどうかを示すブール値を返します。