1 Object.is()
和===行為一樣刹前,不同之處只有兩個(gè):一是+0不等于-0集索,二是NaN等于自身屿愚。
2 Object.assign()
Object.assign()方法用于對(duì)象的合并汇跨,將源對(duì)象(source)的所有可枚舉屬性,復(fù)制到目標(biāo)對(duì)象(target)
3 Object.getOwnPropertyDescriptors()
ES5 的Object.getOwnPropertyDescriptor()方法會(huì)返回某個(gè)對(duì)象屬性的描述對(duì)象(descriptor)妆距。ES2017 引入了Object.getOwnPropertyDescriptors()方法穷遂,返回指定對(duì)象所有自身屬性(非繼承屬性)的描述對(duì)象。
4 __proto__屬性娱据,Object.setPrototypeOf(), Object.getPrototypeOf()
__proto__屬性(前后各兩個(gè)下劃線)蚪黑,用來(lái)讀取或設(shè)置當(dāng)前對(duì)象的原型對(duì)象
Object.setPrototypeOf方法的作用與__proto__相同,用來(lái)設(shè)置一個(gè)對(duì)象的原型對(duì)象(prototype)中剩,返回參數(shù)對(duì)象本身忌穿。它是 ES6 正式推薦的設(shè)置原型對(duì)象的方法。
該方法與Object.setPrototypeOf方法配套结啼,用于讀取一個(gè)對(duì)象的原型對(duì)象掠剑。
5 Object.keys(), Object.values(), Object.entries()
ES5 引入了Object.keys方法,返回一個(gè)數(shù)組郊愧,成員是參數(shù)對(duì)象自身的(不含繼承的)所有可遍歷(enumerable)屬性的鍵名朴译。
var obj = { foo: 'bar', baz: 42 }; Object.keys(obj) // ["foo", "baz"]
Object.values方法返回一個(gè)數(shù)組,成員是參數(shù)對(duì)象自身的(不含繼承的)所有可遍歷(enumerable)屬性的鍵值糕珊。
const obj = { foo: 'bar', baz: 42 }; Object.values(obj) // ["bar", 42]
Object.entries()方法返回一個(gè)數(shù)組动分,成員是參數(shù)對(duì)象自身的(不含繼承的)所有可遍歷(enumerable)屬性的鍵值對(duì)數(shù)組。
const obj = { foo: 'bar', baz: 42 }; Object.entries(obj) // [ ["foo", "bar"], ["baz", 42] ]
6 Object.fromEntries()
Object.fromEntries()方法是Object.entries()的逆操作红选,用于將一個(gè)鍵值對(duì)數(shù)組轉(zhuǎn)為對(duì)象澜公。
Object.fromEntries([['foo','bar'],['baz',42]])// { foo: "bar", baz: 42 }
詳情自行前往https://es6.ruanyifeng.com/#docs/object-methods