js中的內部屬性與delete操作符介紹_javascript技巧
來源:懂視網
責編:小采
時間:2020-11-27 21:41:57
js中的內部屬性與delete操作符介紹_javascript技巧
js中的內部屬性與delete操作符介紹_javascript技巧:在講解Configurable之前,我們首先來看一道面試題: a = 1; console.log( window.a ); // 1 console.log( delete window.a ); // true console.log( window.a ); // undefined var b = 2; console.log(
導讀js中的內部屬性與delete操作符介紹_javascript技巧:在講解Configurable之前,我們首先來看一道面試題: a = 1; console.log( window.a ); // 1 console.log( delete window.a ); // true console.log( window.a ); // undefined var b = 2; console.log(

對于數據屬性,可以取得:configurable,enumberable,writable和value;
對于訪問器屬性,可以取得:configurable,enumberable,get和set。
由此我們可知:一個變量或屬性是否可以被刪除,是由其內部屬性Configurable
進行控制的,若Configurable
為true,則該變量或屬性可以被刪除,否則不能被刪除。
可是我們應該怎么獲取這個Configurable
值呢,總不能用delete試試能不能刪除吧。有辦法滴!!
2.3 獲取內部屬性
ES5為我們提供了Object.getOwnPropertyDescriptor(object, property)
來獲取內部屬性。
如:
通過Object.getOwnPropertyDescriptor(object, property)
我們能夠獲取到4個內部屬性,configurable控制著變量或屬性是否可被刪除。這個例子中,person.name的configurable是true,則說明是可以被刪除的:
我們再回到最開始的那個面試題:
跟我們使用delete操作刪除變量時產生的結果是一樣的。
3. 總結
別看一個簡簡單單的delete操作,里面其實包含了很多的原理!
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
js中的內部屬性與delete操作符介紹_javascript技巧
js中的內部屬性與delete操作符介紹_javascript技巧:在講解Configurable之前,我們首先來看一道面試題: a = 1; console.log( window.a ); // 1 console.log( delete window.a ); // true console.log( window.a ); // undefined var b = 2; console.log(