gpt4 book ai didi

javascript - 我们如何在 ES7 中调用类内部的方法?

转载 作者:行者123 更新时间:2023-11-30 14:26:37 26 4
gpt4 key购买 nike

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()
}

Syntax error: Unexpected token, expected {


PS:我知道我仍然可以使用 ES6 语法。但是有没有不写构造函数的方法呢?

最佳答案

这是一种可能的方法,无需编写构造函数即可实现,但这不是您应该做的事情 - 类字段用于分配给 的属性实例化的对象。如果它不是对象的属性,则应该在构造函数中完成。

function myMethod() {
console.log('method running');
}

class SuperClass { }
class MyClass extends SuperClass {
someIrrelevantPropName = (myMethod(), undefined)
}
const someInstantiation = new MyClass();

请注意,这实际上会将 undefined 分配给 someInstantiation.someIrrelevantPropName。也就是说,'someIrrelevantPropName' in someInstantiation 的计算结果为 true,因此此逗号运算符利用并非没有副作用。

关于javascript - 我们如何在 ES7 中调用类内部的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51819656/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com