ES6 中物件字面量的增強和物件擴充套件方法

2021-10-22 14:43:31 字數 2547 閱讀 6613

物件字面量的增強:

const flag =

"flag"

;const obj =

console.

log(obj)

;

const obj =

message()

}console.

log(obj.

message()

)

在物件字面量裡,在物件內部新增表示式,作為物件的屬性名,以達成動態改變物件的屬性名

const age =

"age"

;const *** =

"***"

;const obj =

message()

}obj[age]=18

;obj[age]=21

;//age動態改變

obj[***]

="men"

;obj[***]=18

;console.

log(obj.

message()

)

在es6中,物件字面量還有乙個變化就是,可以直接在物件內部書寫動態的屬性名。——計算屬性名

const age =

"age"

;const obj =

,//[ ]內部可以是任意表示式

[age]:19

//[1+2]:12

}console.

log(obj.

message()

);obj[age]=18

;obj[age]=21

;//age動態改變

console.

log(obj.

message()

)

物件擴充套件方法
const source =

const target =

const result = object.

assign

(target,source)

;console.

log(result)

;console.

log(target)

;console.

log(result === target)

;//true

const source =

const source =

const target =

const result = object.

assign

(target,source)

;console.

log(result);//

console.

log(target);//

console.

log(result === target)

;//true

//一般情況下寫複製函式

functionfn(

)const

obj()fn

(obj)

;console.

log(obj)

;

利用object.assign方法優化上述複製函式,內部更改時,不會使obj原來的物件發生更改

functionfn(

),obj)

; newobj.name =

"tom"

; console.

log(newobj);}

const obj =

fn(obj)

;console.

log(obj)

;

還可以利用object.assign方法來簡化函式中物件引數的接受

function

block

(option)

使用object.assign簡化後

function

block

(option)

const block =

newblock()

;console.

log(block1)

;//block

console.

log(0==

false);

//true

console.

log(

0===

false);

//false

但是 == 和 ===(全等於)有時候處理數學問題時還是會出錯:+0 === -0 結果是true,nan === nan,結果是false(nan生成結果不一樣,所以判斷不相等)。

es6中使用object.is判斷

object.is(

+0,-

0);//false

object.is(

nan,

nan)

;//true

ES6 增強的物件字面量

啥叫物件字面量?字面量表示如何表達這個值,一般除去表示式,給變數賦值時,等號右邊都可以認為是字面量。字面量分為字串字面量 string literal 陣列字面量 array literal 和物件字面量 object literal 另外還有函式字面量 function literal var p...

ES6 陣列和物件

先列乙個要學習內容的大綱,慢慢補齊。es5 中新增的方法 forwhile arr.foreach 迴圈遍歷陣列中的每一位 arr.map 迴圈遍歷陣列中的每一位,並返回乙個新陣列 arr.filter 迴圈遍歷陣列中的每一位,並過濾一些不合要求的元素。arr.some 查詢陣列中符合條件的元素,返...

ES6中的Promise物件

列印出promise,我們能看出promise是乙個建構函式 那什麼是promise?promise是非同步程式設計的一種解決方案,它有三種狀態,promise執行完成後,只會有成功和失敗的狀態,並且不可被更改 pending 就緒狀態 resolved 成功狀態 pending 就緒狀態 reje...