在全球範圍內執行的代碼如下:爲什麼javascript在刪除時區分有或沒有聲明的賦值?
var x = 1;
y = 1
delete x //false
delete y //true
兩個x
和y
是全局對象的屬性。爲什麼JavaScript必須在某種程度上區分它們?
這很容易按套路accoring到ES5標準the delete
operator和the object internal method[[delete]]
。
表達的問題更清晰的是爲什麼不同[[configurable]]
屬性他們採用?
@FelixKling嗨,再次見到你!但我不明白他們爲什麼具有不同的[[可配置]]屬性。你知道我讀了標準,但沒有找到任何證據。這種決定是由什麼驅動的? – yuan
嗯,我不能告訴你,我沒有做出這個決定:)也許你應該聯繫使用ECMAScript標準的人。 –