JavaScript Object需要注意的二三事

  • 取值
    用object.prop方式取值
var company = {
    name: 'google',
    age: '28',
    money: 'I do not known'
}
company.name            //'google'
  • 用object['propname']
    當屬性名不是一個有效的變量名時,只能使用這種方法獲取
var company = {
    name: 'google',
    age: '28',
    money: 'I do not known',
    'my-job': 'coding'
}
company['my-job']       // 'coding'

注意:定義一個Object時,屬性名盡量為有效的變量名,這樣便于取值

  • 可以自由的添加刪除對象的屬性
var jake = {
    name: '小明'
};
jake.age; // undefined
jake.age = 18; // 新增一個age屬性
jake.age; // 18
delete jake.age; // 刪除age屬性
jake.age; // undefined
delete jake['name']; // 刪除name屬性
jake.name; // undefined
delete jake.school; // 刪除一個不存在的school屬性也不會報錯

判斷Object的某個屬性是否存在

  • in
var company = {
    name: 'google',
    age: '28',
    money: 'I do not known'
}
'name' in company       // true
'age' in company       // true
  • hasOwnProperty
var company = {...}
'name' in company       // true
'toString' in company   // true 

in雖然能判斷屬性是否存在,但是對象繼承的屬性也會參與判斷,就導致上面這種情況,這時就需要使用hasOwnProperty

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

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