delete 操作符

說(shuō)明:
delete用于刪除對(duì)象的某個(gè)屬性。

語(yǔ)法:
exp: delete obj.property / delete obj['property']

在能成功刪除對(duì)象的屬性的時(shí)候,返回true。在不能刪除對(duì)象屬性的時(shí)候返回false。(在對(duì)象的屬性為不可配置的時(shí)候返回false,在嚴(yán)格模式下會(huì)報(bào)錯(cuò)?。?/p>

需要注意一下幾種情況!

  1. 如果你要?jiǎng)h除的屬性在對(duì)象上不存在,那么delete將不會(huì)起作用,但是任然會(huì)返回true。
  2. 如果 delete 操作符刪除成功,則被刪除的屬性將從所屬的對(duì)象上徹底消失。然后,如果該對(duì)象的原型鏈上有一個(gè)同名屬性,則該對(duì)象會(huì)從原型鏈上繼承該同名屬性。(也就是說(shuō)delete操作只會(huì)在自身的屬性上起作用)
  3. 任何使用 var聲明的屬性不能從全局作用域或函數(shù)的作用域中刪除。
  • 這樣的話(huà),delete操作不能刪除任何在全局作用域中的函數(shù)(無(wú)論這個(gè)函數(shù)是來(lái)自于函數(shù)聲明或函數(shù)表達(dá)式)
  • 除了在全局作用域中的函數(shù)不能被刪除,在對(duì)象(object)中的函數(shù)是能夠用delete操作刪除的。
  1. 任何用letconst聲明的屬性不能夠從它被聲明的作用域中刪除。
  2. 不可設(shè)置的(Non-configurable)屬性不能被移除。這意味著像Math, Array, Object內(nèi)置對(duì)象的屬性以及使用Object.defineProperty()
    方法設(shè)置為不可設(shè)置的屬性不能被刪除。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 我們知道delete操作符只能刪除對(duì)象上的某些特殊屬性,該屬性的descriptor描述符必須滿(mǎn)足configur...
    清水蘆葦閱讀 509評(píng)論 3 0
  • 感恩今天好天氣,感恩昨天朋友請(qǐng)吃飯陪散步,感恩父母養(yǎng)育,感恩弟弟熱水袋,感恩同修星光的分享,感恩上天
    26a658189666閱讀 136評(píng)論 0 0
  • 前言:之前搜了網(wǎng)上很多教程,發(fā)現(xiàn)在mac環(huán)境下安裝Xdebug一直不成功。我用的開(kāi)發(fā)環(huán)境是MAMP+PhpStor...
    欒呱呱閱讀 4,512評(píng)論 2 7
  • 早飯:白粥,一個(gè)25g無(wú)淀粉火腿腸。 午飯:餅子,一個(gè)西紅柿,一個(gè)橘子。 晚飯:一小碗面條罪過(guò)罪過(guò)。半斤白酒,大罪...
    守夜人雪諾閱讀 258評(píng)論 0 0

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