我正在创建这个Object构造函数:
function Person(name, surname, yearOfBirth) {
this.name = name;
this.surname = surname;
this.yearOfBirth = yearOfBirth; };
但我想修改可配置,可枚举和可写属性?
我可以像这样对象文字:
var test = Object.create(Object.prototype, { name: {
value: 'Test',
enumerable:true,
writable:true,
configurable:true }});
我可以在对象构造函数中以某种方式执行它,因为我知道我可以这样做:
Object.defineProperty(test, 'name', {configurable: false});
我可以以某种方式使用与对象文字相同的语法吗?
因为如果它看起来比这更好:
Object.defineProperty(Person.prototype, 'name', {configurable: false});
答案 0 :(得分:1)
您似乎在寻找Object.defineProperties
,它对于对象的所有属性而不是特定名称执行相同的操作:
Object.defineProperty(test, 'name', {configurable: false});
Object.definePropertis(test, {
name: {configurable: false}
});