js對象

首先創(chuàng)建如下對象

var obj = {
  a: 2
}

obj.a  //2
obj["a"]  //2

第一種方式叫做屬性訪問,第二種方式叫做鍵訪問,實際上它們訪問的是同一個地方

可計算屬性名

當(dāng)需要用表達(dá)式來計算屬性時,obj[""]這種屬性訪問詞就可以派上用場了

以下例子

var a = "hello"

var obj = {}

obj[a+"c"] = "good"

console.log(obj)  //{helloc: "good"}

ES6的淺拷貝assign

ES6的assign可以很輕松的實現(xiàn)淺拷貝

var a = {
    hello: "world"  
}

var b = {
    c: "good"
}

var c = {
    hello: "hello"
}

var d = {
    a: a,
    b: b,
    c: c
}

var copyD = Object.assign({}, d)

copyD.a === a  //true

copyD.a === d.a  //true

assign的原理是使用“=”操作符來賦值

屬性描述符

ES5開始js的所有屬性都具備了屬性描述符
以下例子

var a = {
    x: 1
}

Object.getOwnPropertyDescriptor(a, "x")
//{
    value: 1, 
    writable: true, 
    enumerable: true, 
    configurable: true
  }

ES6數(shù)組遍歷for of

ES6增加了數(shù)組遍歷的方法for...of

如下例子

let arr = [1, "good", function a(){
    console.log(a)
}]

for(let v of arr){
    console.log(v)
}
//1
  good
  ? a(){
      console.log(a)
  }

注意:想要在Object對象使用for...of循環(huán)需要給你要操作的對象定義@@iterator

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 官方中文版原文鏈接 感謝社區(qū)中各位的大力支持,譯者再次奉上一點點福利:阿里云產(chǎn)品券,享受所有官網(wǎng)優(yōu)惠,并抽取幸運大...
    HetfieldJoe閱讀 2,678評論 9 22
  • 1.屬性的簡潔表示法 允許直接寫入變量和函數(shù) 上面代碼表明,ES6 允許在對象之中,直接寫變量。這時,屬性名為變量...
    雨飛飛雨閱讀 1,281評論 0 3
  • 特別說明,為便于查閱,文章轉(zhuǎn)自https://github.com/getify/You-Dont-Know-JS...
    殺破狼real閱讀 723評論 0 1
  • 三,字符串?dāng)U展 3.1 Unicode表示法 ES6 做出了改進(jìn),只要將碼點放入大括號,就能正確解讀該字符。有了這...
    eastbaby閱讀 1,672評論 0 8
  • 就算你很努力的讓自己變成一個好看的人,可愛的人,討人喜歡的人,也難保自己不會愛上一個孫子,我愛上過一個孫子。當(dāng)我興...
    煙澀寒閱讀 224評論 0 0

友情鏈接更多精彩內(nèi)容