糖语法

作者: crocodile_b | 来源:发表于2016-05-11 11:56 被阅读95次

    语法糖是一种语法,使得语言更容易理解和更具有可读性,它使语言相对我们来说变得更"甜"。这也意味着ES6的一些"新"的特点并不是真的新,只是试图简化语法而已,让我们编程更容易。这样就无需使用老式的取巧的方法编写你的代码,而是可以一种更简单的方式来编写代码,那就是使用糖语法。

    javascript并不像其他面向对象语言一样支持类这个概念,相反js使用functionprototype模拟类的概念。

    下面是创建类的新语法,类似JAVA代码:

    class Project {
      constructor(name) {
        this.name = name;
      }
     
      start() {
        return "Project " + this.name + " starting";
      }
    }
     
    var project = new Project("Journal");
    project.start(); // "Project Journal starting"
    

    你在这个类中定义的所有方法都被加入这个类的原型prototype中。

    既然JS不支持类,那么它支持继承吗?

    是的,JS中继承是通过prototype实现。下面是WebProject子类继承Project类的代码:

    class WebProject extends Project {
      constructor(name, technologies) {
        super(name);
        this.technologies = technologies;
      }
     
      info() {
        return this.name + " uses " + arrayToString(this.technology);
      }
    }
     
    function arrayToString(param) {
      // ... some implementation
    }
    
    var webJournal = new WebProject("FrontEnd Journal", "javascript");
    webJournal.start(); // "FrontEnd Journal starting"
    webJournal.info(); // "FrontEnd Journal uses javascript"
    

    注意到在WebProject 构造器中,调用了Project的构造器,这样可以使用它的属性和方法。

    相关文章

      网友评论

          本文标题:糖语法

          本文链接:https://www.haomeiwen.com/subject/kgqurttx.html