ES6

时间:2016-06-24 02:34:37

标签: ecmascript-6

我不清楚类表达式和类声明。请帮助我理解他们之间的不同。

由于

1 个答案:

答案 0 :(得分:3)

相对简单。

在"类表达式"中,类对象NamedFoo被分配给名为Foo的变量,如下所示:

var Foo = class NamedFoo {
  constructor() {}
  whoIsThere() {
    return NamedFoo.name;
  }
}

在"类声明"中,类对象NamedFoo仅由其自身声明,如下所示:

class NamedFoo {
  constructor() {}
  whoIsThere() {
    return NamedFoo.name;
  }
}

此处的区别还在于,当它是“宣言”时,您可以使用NamedFoo来引用该课程,但是,如果它是""类表达式",您只能通过分配给它的变量引用该类,在本例中为Foo

我希望有所帮助!