es6中對物件新增了很多特性和方法,簡化了很多。
成員速寫和方法速寫
//befor:
function
createuser
(name,age,***)}}
//es6
function
createuser
(name,age,***)}}
const user =
createuser
("1"
,"22"
,"boy");
console.
log(user)
; user.
fun(
);
省略了冒號和屬性值,這樣寫讓**更簡潔了
專案2
//befor
const user =
user[
'ages']=
20;console.
log(user)
////now
const prorp1 =
"name"
;const prorp2 =
"age"
;const users =
console.
log(users)
;
用陣列變數作為屬性名
在es6中還新增了許多物件的api
object.is(),比較兩個值是否相同,es5中有相等運算子(==)和嚴格相等運算子( === ),這兩個都有各自的缺點,相等運算子會自動轉換資料型別,嚴格運算子判斷nan,+0 -0,判斷的問題,object.is() 就很好的解決了這些問題
console.
log(
nan===
nan)
//false
console.
log(-0
===+0)
//trun
console.
log(object.is(
nan,
nan)
)//true
console.
log(object.is(
+0,-
0))//false
assign(url: domstring) 混合物件、轉殖
const obj1 =
const obj2 =
const obj = object.
assign
(,obj1,obj2)
;console.
log(obj)
;console.
log(obj == obj1)
/*object
a: 1
b: 2
c: 3
d: 3
e: 4*/
//false
先將obj2的所有可列舉物件賦值給obj2,然後在依次obj1的屬性
getownpropertynames() 列舉的順序,返回乙個陣列,列舉出來物件的屬性
const obj =
console.
log(obj)
; console.
log(object.
getownpropertynames
(obj))//
//(6) ["0", "3", "a", "b", "c", "d"]
按順序排列了物件的屬性名
setprototypeof() 設定某個物件的隱式原型 ,接收兩個引數:
第乙個是現有物件,第二個是原型物件。
const objj1 =
const objj2 =
object.
setprototypeof
(objj1,objj2)
console.
log(objj1)/*
a: 1
__proto__:
b: 2__proto__: object
*/
可以看到a1的__proto__ 裡面有了b2 Es6新增物件和陣列方法
合併物件object.assign 比較倆個值嚴格相等object.js eg object.js nan,nan truevalue 值 writable 可編寫 enumerable 可列舉 configurable 可配置 返回該屬性的描述物件object.getownpropertydesc...
ES6新增特性
let 1.let宣告的變數不會掛在window中,不會像var宣告的變數一樣造成全域性變數的汙染 2.新增了乙個塊級作用域 以前只有函式作用域,全域性作用域 3.let是不允許重複宣告 4.let不會有宣告提前 var num 15 全域性變數 console.log num 15 console...
ES6新增特性
1 變數定義 const let 2 解構 3 箭頭函式 核心 this的指向 4 模板字面量 5 spread rest 物件展開 6 子符串 陣列新增方法 console.log str.includes de true,字串是否包含de console.log str.endswith ef ...