物件字面量的增強:
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...