ecmascript-6 - ES6 中的类声明和类表达式

标签 ecmascript-6

我不清楚 Class 表达式和 Class 声明。请帮助我了解它们之间的不同。

谢谢

最佳答案

比较简单。

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

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

在“类声明”中,类对象 NamedFoo 单独声明,如下所示:

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

这里的区别还在于,当它是“类声明”时,您可以使用 NamedFoo 来引用该类,但是,当它是“类表达式”时,您将只能通过分配给它的变量引用该类,在本例中为 Foo

希望对你有帮助!

关于ecmascript-6 - ES6 中的类声明和类表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38004785/

相关文章:

javascript - meteor 方法函数返回不起作用

javascript - ES6 嵌套分组求和

javascript - Nightwatch.js setValue 并执行

javascript - 使用 onclick 时出现意外 token 错误

JavaScript 检查数组越界

javascript - 如何在每次渲染之前重置 UseEffect React Hooks 中的数据?

javascript - 使用 webpack 导入 Index.js 模块

javascript - `this` 对象在使用promise时未定义

javascript - ES6 全局导入

javascript - ReactCSSTransitionGroup componentWillLeave 未调用