ES6 屬性的遍歷

2021-09-24 14:23:20 字數 1147 閱讀 8345

可列舉屬性:描述物件的 enumerable 屬性成為「可列舉性」,如果該屬性為 false,就表示某些操作會忽略當前屬性。(for…in,object.keys(),json.stringify())。

1、for…in:迴圈遍歷物件自身的和繼承的可列舉屬性(不含 symbol 屬性)。

2、object.keys(obj):返回乙個陣列,包括物件自身的(不含繼承的)所有可列舉屬性(不含 symbol 屬性)。

3、object.getownpropertynames(obj):返回乙個陣列,包括物件自身的所有可列舉屬性(不含 symbol 屬性,但是包括不可列舉屬性)。

4、object.getownpropertysymbols(obj):返回乙個陣列,包括物件自身的所有 symbol 屬性。

5、reflect.ownkeys(obj):返回乙個陣列,包括物件自身的所有屬性,不含屬性名是 symbol 還是字串,也不管是否可列舉。

以上 5 種方法遍歷物件的屬性時都遵守同樣的屬性便利次序規則:

var obj1 = {};

object.defineproperties(obj1, ,

age: ,

[symbol()]: ,

3: ,

1: ,

});// 可列舉(enumerable: true)

for(var key in obj1)

// 可列舉(enumerable: true)

console.log( object.keys(obj1) );

// 自身 && 不可列舉(enumerable: false)

console.log( object.getownpropertynames(obj1) );

// symbol 屬性

console.log( object.getownpropertysymbols(obj1) );

// 所有屬性

console.log( reflect.ownkeys(obj1));

ES6 屬性的遍歷

1.for in 迴圈遍歷物件自身的和繼承的可列舉屬性 不含symbol屬性 2.obejct.keys obj 返回乙個陣列,包括物件自身的 不含繼承的 所有可列舉屬性 不含symbol屬性 3.object.getownpropertynames obj 返回乙個陣列,包含物件自身的所有屬性 不...

ES6 屬性的遍歷

es6 一共有6種方法可以遍歷物件的屬性 1 for.in for.in 迴圈遍歷物件自身的和繼承的可列舉屬性 不含symbol屬性 2 object.keys obj object.keys 返回乙個陣列,包括物件自身的 不含繼承的 所有可列舉屬性 不含symbol屬性 3 object.geto...

ES6 屬性遍歷的方法

es6 一共有 5 種方法可以遍歷物件的屬性。1 for in for in迴圈遍歷物件自身的和繼承的可列舉屬性 不含 symbol 屬性 2 object.keys obj object.keys返回乙個陣列,包括物件自身的 不含繼承的 所有可列舉屬性 不含 symbol 屬性 的鍵名。3 obj...