ES6 屬性的遍歷

ES6 一共有 5 種方法可以遍歷對象的屬性。
(1)for...in

for...in循環(huán)遍歷對象自身的和繼承的可枚舉屬性(不含 Symbol 屬性)。

(2)Object.keys(obj)

Object.keys返回一個數(shù)組,包括對象自身的(不含繼承的)所有可枚舉屬性(不含 Symbol 屬性)的鍵名。

(3)Object.getOwnPropertyNames(obj)

Object.getOwnPropertyNames返回一個數(shù)組,包含對象自身的所有屬性(不含 Symbol 屬性,但是包括不可枚舉屬性)的鍵名。

(4)Object.getOwnPropertySymbols(obj)

Object.getOwnPropertySymbols返回一個數(shù)組,包含對象自身的所有 Symbol 屬性的鍵名。

(5)Reflect.ownKeys(obj)

Reflect.ownKeys返回一個數(shù)組,包含對象自身的所有鍵名,不管鍵名是 Symbol 或字符串,也不管是否可枚舉。

以上的 5 種方法遍歷對象的鍵名,都遵守同樣的屬性遍歷的次序規(guī)則。

首先遍歷所有數(shù)值鍵,按照數(shù)值升序排列。
其次遍歷所有字符串鍵,按照加入時間升序排列。
最后遍歷所有 Symbol 鍵,按照加入時間升序排列。

Reflect.ownKeys({ [Symbol()]:0, b:0, 10:0, 2:0, a:0 })
// ['2', '10', 'b', 'a', Symbol()]

上面代碼中,Reflect.ownKeys方法返回一個數(shù)組,包含了參數(shù)對象的所有屬性。這個數(shù)組的屬性次序是這樣的,首先是數(shù)值屬性2和10,其次是字符串屬性b和a,最后是 Symbol 屬性。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 我的悲傷,慢慢唱百褶裙的姑娘狂飆在公路上盤旋的山,一曲又一曲的浪連同車上的漢子也滄桑,有一些溫良 大概,詩成了遠方...
    立黃昏閱讀 677評論 15 48
  • 去買藥的時候,她在打點滴。 大兒子躲債,小兒子撞死了人躲難。 一個八旬老人,獨自種著十畝田。 變賣糧食的錢,來不及...
    枕月聽雪閱讀 175評論 0 0
  • ——關于蔣勛《孤獨六講》 《孤獨六講》是關于蔣勛很私人的個人體驗,也因為這樣很多人吐槽他“沒有自己的靈魂”,但是什...
    默聲者閱讀 256評論 0 0
  • 圖像標簽( )和源屬性(Src) 在 HTML 中,圖像由 標簽定義。 是空標簽,意思是說,它只包含屬性,并且...
    楓羽望空閱讀 856評論 0 1
  • 今天在上課前夕在微信公眾號上看見了 小米創(chuàng)始人雷軍 綜藝首秀奇葩說 并有消息傳出小米狂砸14億 投入媒體宣傳...
    Lynn喬閱讀 174評論 0 1

友情鏈接更多精彩內容