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

IT技术 javascript
2021-03-17 20:46:11

给定的

const localName = "local_name";
delete localName; // true
console.log(localName); // "local_name"

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

1个回答

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

delete foo;

将尝试foo全局对象中删除该属性永远不能删除声明的变量delete(无论您使用const,letvar),并且没有其他方法可以删除“变量”(绑定)(有关更多详细信息,请参阅@TJ 的评论)。

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

是的,我的假设是,即使将constet al 添加到全局对象中,也不允许这样做,就像使用var.
2021-04-20 20:46:11
@guest271314:只是范围:const foo = 42; (function() { const foo = null; console.log(foo); }());
2021-04-29 20:46:11
@FelixKling 是const声明变量不能更改的结论吗?
2021-05-10 20:46:11
@guest271314:这就是为什么它是const:)
2021-05-11 20:46:11
(我知道知道这一点,但观望者...)有趣的是,该理由不能删除constletclass从全局范围delete是从你无法删除的原因不同var,从全球范围内,虽然背后的动机因为规格决定大致相同(我怀疑)。但是,因为你不能delete既... :-)你不能使用delete删除constletclass从全局对象,因为他们不是摆在首位的全局对象!(而全局var是,但不可删除。)
2021-05-13 20:46:11