Javascript:令牌上的语法错误" delete",StringLiteral? [英] Javascript : Syntax error on token "delete", StringLiteral?

查看:113
本文介绍了Javascript:令牌上的语法错误" delete",StringLiteral?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

    var TestFunction = function () {

        return {
           delete: function() { // line 1
                // do something
            }
        };
    }

在eclipse的第1行获得以下错误

Getting below error on line 1 in eclipse

    Syntax error on token "delete", StringLiteral 

当我将删除更改为delete1时,错误消失了。是删除保留关键字吗?

As i changed "delete" to "delete1" , error goes away . Is delete a reserved keyword ?

推荐答案

是, delete 是一个保留关键字,用于删除某个属性对象,因此它不再可迭代。因此,给定:

Yes, delete is a reserved keyword, used to remove a property in an object, so that it is not iterable anymore. Thus, given:

var a = { b: 5 };
delete a.b;
console.log(a);
// logs {}

它还可以用于删除全局变量实际上也是全局对象的属性,即:

It can be also used to remove "global variables" that are actually properties of the global object too, that is:

delete a;
// is in browsers equal to
delete window.a;

请注意,您可以使用 delete 作为属性名称,但是你需要总是引用它:

Notice that you can use delete as a property name too, however you need to always quote it:

var obj = {
    'delete': function() { // line 1
        // do something
    }
};
obj['delete']();

这篇关于Javascript:令牌上的语法错误" delete",StringLiteral?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆