使用ES6中另一个文件中另一个类的类

时间:2018-05-27 12:25:41

标签: javascript ecmascript-6 es6-class

我正在尝试在以前用es5编写的项目中使用ES6

要求:

我在file2.js中有class Abc,在file2.js中有Def类,如何在javascript ES6中从Abc实例化类Def并使用它的方法?

示例演示: file1.js

class first{
constructor(a,b,c){
    this.a = a;
    this.b = b;
    this.c = c;
}
}

file 2.js

import * as filee from  "/file1.js"
class def{
  method3(){
    let a = "satya";
    let b = "aditya";
    let c = function () {
        console.log("cr7");
    }
  let classs = new filee.first(a,b,c);
     classs.myMethod();
}
}
let a = new def();
a.method3();
如果有人在ES6上分享了很好的资源,那将会很有帮助,因为我看到像mdn这样的网站,但想阅读专注于良好用法示例的文章

2 个答案:

答案 0 :(得分:1)

如果要在一个文件中导入内容,则必须将其导出到另一个文件中。

file1.js中添加以下代码:

// vvv
export class first{
  constructor(a,b,c){
    this.a = a;
    this.b = b;
    this.c = c;
  }
}

如果该文件中有多个类,您也可以像上例中那样导出它们:

export class first{
  constructor(a,b,c){
    this.a = a;
    this.b = b;
    this.c = c;
  }
}

export class second{
  constructor(a,b,c){
    this.a = a;
    this.b = b;
    this.c = c;
  }
}

然后在file2.js

中导入它们
import {first, second} from  "/file1.js"

答案 1 :(得分:1)

您错过了导出声明:

export class first { /*
^^^^^^ */
    …
}