map和object區別?
1:Object對象有原型, 也就是說他有默認的key值在對象上面, 除非我們使用Object.create(null)創建一個沒有原型的對象;
2:在Object對象中, 只能把String和Symbol作為key值, 但是在Map中,key值可以是任何基本類型(String, Number, Boolean, undefined, NaN....),或者對象(Map, Set, Object, Function , Symbol , null....);
3:通過Map中的size屬性, 可以很方便地獲取到Map長度, 要獲取Object的長度, 你只能用別的方法了;
Map實例對象的key值可以為一個數組或者一個對象,或者一個函數,比較隨意 ,而且Map對象實例中數據的排序是根據用戶push的順序進行排序的, 而Object實例中key,value的順序就是有些規律了, (他們會先排數字開頭的key值,然后才是字符串開頭的key值);