【发布时间】:2019-07-24 12:41:17
【问题描述】:
我一直在学习一些 React,并且一直在使用 ES6 类来编写基于类的组件。我正在做一个小 Node 项目,但这些语法都不起作用。
class Handler {
handleReq = () => {
this.ctx = ctx;
};
testFunc = async () => {
};
}
export default (HandleReq = Handler.prototype.handleReq);
这个语法有什么问题?它不在Node中运行吗?我必须安装esm 才能使导入/导出语法正常工作,但这仍然无法编译。
【问题讨论】:
-
类属性还不是有效的 ES,它们处于提案阶段。今天你必须使用编译器 lile BabelJS 来处理它们。,
-
明白了,这些天人们通常会做什么来获得这种东西?他们会编写旧式代码吗?
-
而
Handler.prototype.handleReq将永远无法工作,因为handleReq必须绑定到一个实例,因此它只会存在于一个实例上((new Handler).handleReq) -
@JohnLippson 是的,他们只是使用普通的
class方法或将箭头函数放在它们所属的构造函数中。您似乎没有发布完整的代码,但我怀疑您是否需要箭头函数。 -
export default (HandleReq = Handler.prototype.handleReq);应该完成什么?除了在分配未声明的全局变量时抛出异常之外,如果您导出的只是一个方法,为什么还要使用class?
标签: javascript node.js ecmascript-6