所以我知道你可以这样做:
var obj = {};
Object.defineProperty(obj, 'staticProp', {
value: 'I will never change',
writable: 'false'
});
我知道你可以做到这一点:
var obj = {
get gettableProp(){
return 'gettable!'
}
}
有没有一种方法可以声明性地定义不可写/可枚举/可配置的属性,而不是像定义 getter 或 setter 那样使用 Object.defineProperty()?
我问的原因是因为我有一个函数可以像这样传递一个对象:
ObjectProcessor({
// A bunch of properties
})
当我想包含不可写或不可枚举的属性时,我真的希望能够保留这种简单的语法,而不是必须这样做
var obj = {}
Object.defineProperty(obj, 'staticProp', {
value: 'I will never change',
writable: 'false'
});
ObjectProcessor(obj);
最佳答案
Is there a way to define non-writable/enumerable/configurable properties declaratively instead of using Object.defineProperty(), the way you'd define a getter or setter?
没有。
(有 Object.defineProperties
,但我想这不是您要找的)
关于javascript - 在没有 Object.defineProperty 的情况下定义不可写属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31061309/