Javascript 2.0类

cod*_*ker 5 javascript class

我正在读一本书"如何用JavaScript做所有事情",我正在学习如何定义类.这本书说有两种方法.首先在javascript 1.x中使用函数.第二,在javascript 2.0中使用类.

我正在尝试的是:

class Car {
    var Make : String;
    var Model : String;
    var Year : Integer;
    var Color : String;
    var FullName : String;

    function Car (make, model, year, color) {
        this.Make = make;
        this.Model = model;
        this.Year = year;
        this.Color = color;
        this.FullName = this.Year + " " + "<b>" + this.Make + "</b> " + this.Model;
    }
}

var mySUV = new Car("Toyota", "4Runner SR5",2001, "Thundercloud");
document.write ("I drive a " + mySUV.FullName);
Run Code Online (Sandbox Code Playgroud)

当我试图运行它时,代码无法正常工作.我使用komodo编辑器进行开发,当我定义一个像前面提到的类时,它给了我一个警告"严格警告:类是一个保留的标识符".

代码有问题吗?在此先感谢您的帮助.

Jör*_*tag 10

JavaScript 2.0又称ECMAScript 4在2008年被放弃之前就被放弃了.永远不会有基于类的ECMAScript版本.这是件好事.

  • 不,会有一个基于类的ECMAScript版本.它被称为ECMAScript 6.此外,在ActionScript 3中已经实现了很多ECMAScript 4. (6认同)
  • 并且JavaScript 2.0从未被放弃,它仍然会被制作并实现ECMAScript 6. (4认同)
  • 我个人有点喜欢ES4. (2认同)
  • 其中有一些好主意.但它有三个主要问题:1)它根本不是JavaScript.它可能是一个很好的*新*语言,但它不是JavaScript.2)简单地抓住从有史以来创造的每种语言发明的每一个特征,并将它们转换成一种语言,而不是*你如何设计一种好的语言.3)您不在行业标准组织中进行原创性研究.渐进式打字很酷,但在2010年它仍然是一个开放的研究问题.你根本就没有把一个开放的研究问题放到地球上最广泛使用的编程语言中. (2认同)
  • *"它可能是一种很好的新语言"* - 它实际上是,它被称为ActionScript 3;) (2认同)

vru*_*erg 0

我不知道目前有哪个浏览器实现了 JavaScript 2.0。这可能就是您无法运行它的原因。