JavaScript 创建对象的两种方法区别

1.

var obj = Object.defineProperty({}, 'a', {
	value:'a'
});
//configurable: false<不可增删>
​
//enumerable: false<不可遍历>
​
//value: "a"
​
//writable: false<不可修改值>

2.

var obj = {a:'a'}

//configurable: true<可增删>
​
//enumerable: true<可遍历>
​
//value: "a"
​
//writable: true<可修改值>

可见两种方法默认的元属性是相反的。

而且两种方法不能一起用,应该都相当于创建一个新对象,后者会把前者覆盖

你可能感兴趣的:(JavaScript 创建对象的两种方法区别)