是否可以删除使用const声明的变量?

gue*_*314 3 javascript

特定

const localName = "local_name";
delete localName; // true
console.log(localName); // "local_name"
Run Code Online (Sandbox Code Playgroud)

是否可以删除使用声明的变量const

Fel*_*ing 7

delete 用于从对象中删除属性.

delete foo;
Run Code Online (Sandbox Code Playgroud)

将尝试foo全局对象中删除该属性.声明的变量永远不会被删除delete(无论你是否使用const,let或者var),并且没有其他方法可以删除"变量"(绑定)(有关更多详细信息,请参阅@TJ的注释).

相关:如何取消设置JavaScript变量?

  • (我知道*你*知道这一点,但是对于潜伏者......)有趣的是,你不能用`delete`删除全局范围内的`const`,`let`或`class`不同于你不能从全局范围中删除`var`的原因,尽管规范决策的潜在动机大致相同(我怀疑).但既然你不能`删除'...... :-)你不能使用`delete`从全局对象中删除`const`,`let`或`class`,因为它们不是*on*首先是全球对象!(而全局`var`是,但它不可删除.) (2认同)