如何在JavaScript Object构造函数中设置configurale,writable和enumberable属性

时间:2017-03-27 17:57:00

标签: javascript properties

我正在创建这个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});

1 个答案:

答案 0 :(得分:1)

您似乎在寻找Object.defineProperties,它对于对象的所有属性而不是特定名称执行相同的操作:

Object.defineProperty(test, 'name', {configurable: false});
Object.definePropertis(test, {
    name: {configurable: false}
});