Javascript:有没有办法使对象属性只读

asu*_*and 2 javascript object

我希望能够做类似的事情

foo.x = 7;
Run Code Online (Sandbox Code Playgroud)

然后执行某些操作使该属性只读,以便其他代码无法更改它。我想要

foo.x = 10; //should do nothing
Run Code Online (Sandbox Code Playgroud)

无论如何,在 JS 中什么都不做吗?

ben*_*qus 5

使用 ECMAScript5,您可以实现:

var foo = {};

Object.defineProperty(foo, 'x', {
    value: 7,
    writable: false,
    configurable: false,
    enumerable: true
});
Run Code Online (Sandbox Code Playgroud)

您可能想查看MDN JavaScript以获取 ECMAScript5 内容。