静态
Reflect
.set()
method works like setting a property on an object.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Reflect.set(target, propertyKey, value[, receiver])
target
The target object on which to set the property.
propertyKey
The name of the property to set.
value
The value to set.
receiver
可选
this
provided for the call to
target
if a setter is encountered.
A
布尔
indicating whether or not setting the property was successful.
A
TypeError
, if
target
is not an
Object
.
Reflect.set
method allows you to set a property on an object. It does property assignment and is like the
property accessor
syntax as a function.
Reflect.set()
// Object
let obj = {}
Reflect.set(obj, 'prop', 'value') // true
obj.prop // "value"
// Array
let arr = ['duck', 'duck', 'duck']
Reflect.set(arr, 2, 'goose') // true
arr[2] // "goose"
// It can truncate an array.
Reflect.set(arr, 'length', 1) // true
arr // ["duck"]
// With just one argument, propertyKey and value are "undefined".
let obj = {}
Reflect.set(obj) // true
Reflect.getOwnPropertyDescriptor(obj, 'undefined')
// { value: undefined, writable: true, enumerable: true, configurable: true }
| 规范 |
|---|
|
ECMAScript (ECMA-262)
The definition of 'Reflect.set' in that specification. |
| Desktop | Mobile | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
set
|
Chrome 49 | Edge 12 | Firefox 42 | IE No | Opera 36 | Safari 10 | WebView Android 49 | Chrome Android 49 | Firefox Android 42 | Opera Android 36 | Safari iOS 10 | Samsung Internet Android 5.0 | nodejs 6.0.0 |
完整支持
不支持
Reflect
Object
Object.prototype.__defineGetter__()
Object.prototype.__defineSetter__()
Object.prototype.__lookupGetter__()
Object.prototype.__lookupSetter__()
Object.prototype.hasOwnProperty()
Object.prototype.isPrototypeOf()
Object.prototype.propertyIsEnumerable()
Object.prototype.toLocaleString()
Object.prototype.toSource()
Object.prototype.toString()
Object.prototype.valueOf()
Object.setPrototypeOf()