我使用notepad++进行web开发。当我发现这个奇怪的东西时,我正在用JavaScript编码。我将一个变量命名为private
(我知道它不是JavaScript中的保留关键字)。但是当我输入时,它变成了蓝色(所有JavaScript关键字在notepad++中都显示为蓝色)。所以我想还会有public
, class
和protected
关键词。令我惊讶的是,它们也变成了蓝色!那么这是否意味着JavaScript除了原型模型之外还有基于类的面向对象模型呢?我检查了以下代码-
public class Foo {
private bar;
}
但是控制台显示- SyntaxError: Unexpected reserved word
。
问题 - JavaScript是否支持基于类的面向对象模型,或者它只是notepad++中的一个错误,或者我的语法是错误的?
这是一个保留关键字,以便将来可以在不破坏现有代码的情况下添加此功能。
如果您允许private
,那么稍后在语言中添加private
特性将破坏任何使用private
作为正常标识符的代码。
private
和public
为Java关键字,由JavaScript保留。
class
为ECMAScript保留字。
关于JavaScript中基于OO类的实现,请参阅这里的