如果我也可以更简单地做到这一点,Object.defineProperty的用途是什么?

wub*_*bbe 2 javascript defineproperty

Object.defineProperty有什么用?

var myObj = {someNum: 123};
Object.defineProperty(myObj, "anotherNum",
{value: 456, writable: true, enumerable: true, configurable: true});
alert(myObj.someNum + " " + myObj.anotherNum);
Run Code Online (Sandbox Code Playgroud)

......如果我也可以......

var myObj = {someNum: 321};
myObj.anotherNum = 654;
alert(myObj.someNum + " " + myObj.anotherNum);
Run Code Online (Sandbox Code Playgroud)

jsfiddle在这里

Poi*_*nty 5

应该很清楚:该.defineProperty()方法可以控制如何访问属性.当您只是向对象添加属性时,它始终是可写的,可枚举的和可配置的.

.defineProperty()方法还允许您设置getter和setter函数.