首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在javascript中实例化另一个类中的类?

问如何在javascript中实例化另一个类中的类?
EN

Stack Overflow用户
提问于 2019-07-25 03:03:43
回答 2查看 309关注 0票数 0

如何在javascript中实例化另一个类中的类?类有静态方法和非静态方法

代码语言:javascript
复制
export default class MyClass {
    static staticMethod() {
        return console.log(`this is static method`);
    }

    nonStaticMethod() {
        return console.log(`this is not static method`);
    }

}

我可以从上面访问一些其他js文件中的静态方法,它是这样的类:

代码语言:javascript
复制
import MyClass form "somewhere";
MyClass.staticMethod(); //this works 

但是如何访问非静态方法呢?

代码语言:javascript
复制
//This does not work
import MyClass form "somewhere";
MyClass.nonStaticMethod();

为了使其正常工作,需要创建/传递MyClass的实例。我怎么能做这样的事情呢?

代码语言:javascript
复制
let myClass = new MyClass();
myClass.nonStaticMethod();
//I am getting uncaught ReferenceError: nonStaticMethod is not defined
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-25 03:30:46

创建类的一个实例,然后调用该实例方法。你不能在这样的静态上下文中调用实例方法。参见下面的示例代码:

​

代码语言:javascript
复制
class ClassA {
  static staticMethod() {
    return 'this is static method';
  }

  nonStaticMethod() {
    return 'this is not static method';
  }
}

//Call static method:
console.log(ClassA.staticMethod()); //Works as expected
//ClassA.nonStaticMethod(); // Uncomment and see it Will cause a Uncaught TypeError

//Call instance method:
const instance = new ClassA();
//console.log(instance.staticMethod());  // Uncomment and see it Will cause a Uncaught TypeError
console.log(instance.nonStaticMethod()); //Works as expected

​

票数 0
EN

Stack Overflow用户

发布于 2019-07-25 03:09:06

我真的看不出有什么问题。这段代码运行得很好。

​

代码语言:javascript
复制
class myClass {
    static staticMethod() {
        return console.log(`this is static method`);
    }

    nonStaticMethod() {
        return console.log(`this is not static method`);
    }
}

myClass.staticMethod();
let classInstance = new myClass();
classInstance.nonStaticMethod();

​

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57189647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档