ES6物件擴充套件

2021-10-10 10:26:37 字數 2022 閱讀 3163

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中,我們直接使用變數名稱來定義就可以了。是不...