object.is
同值輸出true,與===類似;
let a =10;
let b =10;
console.
log(object.
is(a,b));
//true
不同之處在於:一是+0不等於-0,二是nan等於自身,和===不一樣。
let a =+0
;let b =-0
;console.
log(object.
is(a,b));
//false
console.
log(a===b)
;//true
let a =
nan;
let b =
nan;
console.
log(object.
is(a,b));
//true
console.
log(a===b)
;//false
object.assign
用於物件的合併,將源物件(source)的所有可列舉屬性,複製到目標物件(target),且後面的值會覆蓋前面的;
let a =
let b =
}let target =
object.
assign
(target,a,b)
console.
log(target)
;// }
object.assign屬性第一層實現的是深拷貝;
let a =
;let b =};
let target =
object.
assign
(target,a,b)
target.age =22;
console.
log(target.age)
;//22
console.
log(b.age)
;//14
第二層實現的是淺拷貝。
let a =
;let b =};
let target =
;object.
assign
(target,a,b)
;target.user.name =
'jack'
;console.
log(target.user.name)
;//jack
console.
log(b.user.name)
;//jack
object.keys
返回乙個陣列,成員是引數物件自身的(不含繼承的)所有可遍歷(enumerable)屬性的鍵名。
let obj =
console.
log(object.
keys
(obj));
//[ 'name', 'age', 'gender' ]
object.values
返回乙個陣列,成員是引數物件自身的(不含繼承的)所有可遍歷(enumerable)屬性的鍵值。
let obj =
console.
log(object.
values
(obj));
//[ 'tom', 12, 'male' ]
object.entries
返回乙個陣列,成員是引數物件自身的(不含繼承的)所有可遍歷(enumerable)屬性的鍵值對陣列。
let obj =
console.
log(object.
entries
(obj));
//[ [ 'name', 'tom' ], [ 'age', 12 ], [ 'gender', 'male' ] ]
ES6 物件擴充套件
es6 允許直接寫入變數和函式,作為物件的屬性和方法 var key1 1 var bj var bz 方法的簡寫 var ob fn2 表示式還可以用於定義方法名。var lastword last word var a a first word hello a lastword world a ...
ES6物件擴充套件
es6允許直接寫入變數和函式,作為屬性名和方法 var a b var c c 如果屬性值與屬性名一樣,我們值寫屬性名就可以 方法簡寫 add add function 定義物件屬性有兩種方法 obj.name lijixuan 2obj name lijixuan 我們原本只能用識別符號定義屬性,...
ES6 物件擴充套件
物件擴充套件主要從四個方面開展 1.簡潔表示法 2.屬性表示式 3.擴充套件運算子 4.object新增方法 let es6 console.log es5,es6 object object 在es5中,我們去定義物件,多使用鍵值對的方式來定義,在es6中,我們直接使用變數名稱來定義就可以了。是不...