javascript哪些屬性是可列舉的

螞蟻小編發表於2017-04-14

本章節介紹一下什麼樣的屬性是可列舉的,又有哪些方法或者操作可以完成列舉操作。

物件中的屬性都具有物件屬性特性,具體可以參閱configurable、enumerable和writable介紹一章節。

如果屬性特性enumerable值為true,那麼對應的屬性就是可以列舉,如果值為false,那麼就是不可列舉的。

ES5中有三個操作會忽略enumerable值為false的屬性:

(1).for in操作,具體可以參閱js for in一章節。

(2).Object.keys()方法,具體可以參閱Object.keys()一章節。

(3).JSON.stringify()方法,具體可以參閱JSON.stringify()一章節。

ES2015又新增了兩個方法會忽略enumerable值為false的屬性:

(1).Object.assign()方法,具體可以參閱Object.assign()一章節。

(2).Reflect.enumerate()方法(將被廢棄)。

如果要列舉所有屬性,也就是無論enumerable屬性值是否為true,可以使用Object.getOwnPropertyNames()方法。

關於Object.getOwnPropertyNames()方法可以參閱Object.getOwnPropertyNames()一章節。

相關文章