es6 Object的一些方法
阿新 • • 發佈:2019-01-10
Object.is()
比較兩個值是否嚴格相等,與嚴格比較運算子(===)的行為基本一致。
不同之處只有兩個:一是+0
不等於-0
,二是NaN
等於自身。
Object.assign()
Object.assign
方法用於物件的合併,將源物件(source)的所有可列舉屬性,複製到目標物件(target)。
Object.assign
方法的第一個引數是目標物件,後面的引數都是源物件。
注意,如果目標物件與源物件有同名屬性,或多個源物件有同名屬性,則後面的屬性會覆蓋前面的屬性。
Object.keys()
ES5 引入了Object.keys
方法,返回一個數組,成員是引數物件自身的(不含繼承的)所有可遍歷(enumerable)屬性的鍵名。
Object.values()
Object.values
方法返回一個數組,成員是引數物件自身的(不含繼承的)所有可遍歷(enumerable)屬性的鍵值。
Object.entries()
Object.entries()
方法返回一個數組,成員是引數物件自身的(不含繼承的)所有可遍歷(enumerable)屬性的鍵值對陣列。
Object.fromEntries()
Object.fromEntries()
方法是Object.entries()
的逆操作,用於將一個鍵值對陣列轉為物件。
該方法的主要目的,是將鍵值對的資料結構還原為物件,因此特別適合將 Map 結構轉為物件。
該方法的一個用處是配合URLSearchParams
物件,將查詢字串轉為物件。
Object.fromEntries(new URLSearchParams('foo=bar&baz=qux'))
// { foo: "bar", baz: "qux" }