首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Errors: Delete in strict mode

信息

代码语言:javascript
复制
SyntaxError: applying the 'delete' operator to an unqualified name is deprecated (Firefox)
SyntaxError: Delete of an unqualified identifier in strict mode. (Chrome)

错误类型

SyntaxError in strict mode only.

什么地方出了错?

JavaScript中的正常变量不能使用delete运算符删除。在严格模式下,试图删除一个变量会引发错误,不允许。

delete运营商只能在对象上删除属性。如果对象属性是可配置的,则属性是“限定的”。

与常见的观点不同,delete运营商与直接释放内存无关。内存管理通过中断引用间接完成,请参阅内存管理页面和delete操作页面了解更多详细信息。

这个错误只发生在严格的模式代码中。在非严格的代码中,操作只是返回false

例子

试图删除一个普通的变量,在JavaScript中不起作用,并在严格模式下引发错误:

代码语言:javascript
复制
'use strict';

var x;

// ...

delete x;

// SyntaxError: applying the 'delete' operator to an unqualified name 
// is deprecated 

要释放变量的内容,可以将其设置为null

代码语言:javascript
复制
'use strict';

var x;

// ...

x = null;

// x can be garbage collected

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com