ES6 之 物件的擴充套件
阿新 • • 發佈:2018-12-09
屬性的簡潔表示法
let book = '234'; let good = '432'; let obj01 = { book, good } console.log(obj01);
方法名的name屬性
.....
Object.is()
// Object.is() 用來比較倆個值是否嚴格相等,與 === 行為基本一致 // == 會自動轉化資料型別 // === NaN不等於 NaN 以及 +0 和 -0 console.log(Object.is('foo','foo')); //true console.log(Object.is({},{})); // false console.log(Object.is(+0,-0)); // false console.log(Object.is(NaN,NaN)); // true // +0 不等於 -0 NaN 等於自身
Object.assign()
// Object.assign() 方法將源物件(source)的所有可列舉的屬性複製到目標物件上 let target = { a: 1 } let source1 = { b: 2 } let source2= { c: 3 } let a = Object.assign(target, source1, source2) // {a: 1, b: 2, c: 3} console.log(a); // 同名屬性 ,後面的屬性 會 覆蓋前面的屬性 // 如果只有一個引數,Object.assign會直接返回該引數 // 如果引數不是物件,則會先轉成物件,然後返回 let target2 = { a: 1 } let b = Object.assign(target2, undefined) // {a: 1} console.log(b); let target3= { a: 1 } let c = Object.assign(target3, null) // {a: 1} console.log(c);
ES6 屬性的遍歷
// for ... in // Object.key(obj) // 返回一個數組,包括物件自身(不含繼承)的所有可列舉屬性 // Ojbect.getOwnPropertyNames(obj) // 返回一個數組 // Ojbect.getOwnPropertySymbols(obj) // 返回一個數組 // Reflect.ownKeys(obj) // 返回一個數組