javascript - 我们如何在 ES7 中调用类内部的方法?
问题描述
ES6 简单示例
class MyClass extends SuperClass {
constructor() {
super()
this.myProperty = 'myProperty'
}
}
在 ES7 中,前面的例子可以写成:
class MyClass extends SuperClass {
myProperty = 'myProperty'
}
在 ES6 中,我们可以像这样在构造函数中调用方法:
import myMethod from './myMethod'
class MyClass extends SuperClass {
constructor() {
super()
myMethod()
}
}
在 ES7 中,我们如何调用将被称为构造方法的方法?
import myMethod from './myMethod'
class MyClass extends SuperClass {
myMethod()
}
语法错误:意外的令牌,应为 {
PS:我知道我仍然可以使用 ES6 语法。但是有没有办法不写构造函数?
解决方案
TL;DR - 你不能,你应该像在 ES6 中那样做。
您对属性所做的事情是类字段声明提案的一部分,您想要的方法声明不是该提案的一部分。
该提案目前处于第 3 阶段,这意味着它还不是官方 ECMAScript 规范的一部分,但可能很快就会出现(可能在 ES2019 中?)。因此,我什至建议不要使用示例中使用的类属性,因为它的语法仍然可能改变。
推荐阅读
- java - 将上下文从一个通量/单声道传递到另一个
- javascript - 单击下一个按钮几秒钟后,移动选项卡不起作用
- c# - if (counter == <数据库值>)
- c# - 如何在 Asp.net 零中安装 3rd 方插件?
- laravel - 邮递员不使用 Laravel Valet(本地)
- django - 获取formset中form的ID
- asp.net - 传入字典的模型项的类型为“System.Collections.Generic.List`1[]”,但此字典需要类型为模型项
- ios - 从订阅屏幕更改订阅
- php - PO 文件翻译:从 msgstr 到 msgid?
- docker - 将 Vagrant VM 和 Docker 容器连接到同一个桥接网络