我计划使用 JavaScript 实现类继承接口。class
是作为构造函数名称的完美词。
class = function (classname) {}; // create a class with classname
classA = new class("classA"); // create a class named classA
不幸的是,class
是 JavaScript 中的保留字。
为什么 JavaScript 保留这个词class
(因为它从不使用它)?
我计划使用 JavaScript 实现类继承接口。class
是作为构造函数名称的完美词。
class = function (classname) {}; // create a class with classname
classA = new class("classA"); // create a class named classA
不幸的是,class
是 JavaScript 中的保留字。
为什么 JavaScript 保留这个词class
(因为它从不使用它)?
它保留给面向未来的 ECMAScript
以下词在提议的扩展中用作关键字,因此保留以供将来采用这些扩展的可能性。
不过不要担心,如果您在 JavaScript 中使用最佳实践,您会将所有可访问的函数/变量/构造函数放在一个命名空间中,这将允许您使用任何您喜欢的名称:
foo = {};
foo['class'] = function(){...code...};
var myClass = new foo['class']();
语言在进化。保留一些以后可能会用到的关键字是明智的。根据 ECMA 标准,class
是未来保留字。
如果您没有保留它们,则引入新关键字可能会与现有代码(可能已经将该词用于其他用途)发生冲突。发生在 Java 和assert
.
现在它用于ECMAScript® 2015 语言规范:
class Foo {
constructor(bar) {
this.bar = bar;
}
}
new Foo(10).bar; // 10
class
ECMAScript 规范保留作为未来关键字
它在那里,以便将来可以在不破坏现有程序的情况下添加支持。请看下面的帖子。
你也可以看看
https://developer.mozilla.org/en/JavaScript/Reference/Reserved_Words