gpt4 book ai didi

javascript - ES6 React - 静态方法与构造函数

转载 作者:行者123 更新时间:2023-12-02 13:51:03 24 4
gpt4 key购买 nike

我遇到了一个“问题”,我不知道哪一个是最佳选择。

假设我有以下类(class)

export default class A {
constructor(){
this.testMethod = function testMethod(){
console.log('a')
}
}

static testMethod2 = function() {
console.log('B')
}
}

现在我正在扩展这个类

class C extends A {
fetch() {
this.testMethod()
A.testMethod2()
}
}

在扩展它时将其定义为静态方法感觉很奇怪,我假设我扩展一个类的事实将允许我访问它自己的所有方法(ES5原型(prototype)风格)

我知道这两种方法都是正确的,但是在 ES6/React 中执行此操作的最佳方法是什么?这两种方式或性能问题有哪些注意事项?

我目前正在使用构造函数,因为它感觉像是正确/预期的做法,但我无法“证明”其中一个比另一个更合理。

这一切都来自于将airbnb eslint应用到我的代码库( http://eslint.org/docs/rules/class-methods-use-this )

最佳答案

I would assume the fact that I'm extending a class would allow me to access all of its own methods

你实际上可以做到这一点。只需调用 C.testMethod2() 而不是 A.testMethod2() (或 even use this.constructor.testMethod2() )。

定义与原型(prototype)上甚至构造函数内的特定实例无关的函数是一种不好的做法,不要这样做。

关于javascript - ES6 React - 静态方法与构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41025762/

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