javascript - 如何在 Javascript ES6 中使用 "hide"类名?

标签 javascript oop module ecmascript-6

我正在用 ES6 做一些普通的 Javascript。我的简单代码分为 3 个文件,如下所示:

// File A
class A { 
    // ...
}

// File B
class B { 
    // ...
}

// File C
class C { 
    constructor() {
        this.a = new A();
        this.b = new B();
    }
}

A类和B类只在C类中使用,所以我想“隐藏”这些类名,防止它们污染作用域。

如何将它们保存在不同的文件中?也许我应该使用 ES6 模块功能,但我不确定如何使用。

最佳答案

您可以使用 ES6 模块。

在文件 A 和 B 中导出类:

// File A
export default class A { 
    // ...
}

// File B
export default class B { 
    // ...
}

并将它们导入文件C:

import A from './A';
import B from './B';

// File C
class C { 
    constructor() {
        this.a = new A();
        this.b = new B();
    }
}

不幸的是,ES6 模块还没有原生支持,所以你应该使用 Babel 转译你的代码.如果你想在浏览器中运行你的代码,你可以使用 Rollup.js将您的模块捆绑在一个文件中。

关于javascript - 如何在 Javascript ES6 中使用 "hide"类名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40977810/

相关文章:

r - 如何在 R 中使用 igraph 删除小社区?

python - 在具有导入函数的模块上使用 pydoc

javascript - 如何从 firebase 中的嵌套文档中删除数组项?

Javascript OOP - jQuery 在 ajax 请求中调用 "this"

javascript - 使用位置在图像上添加文本

C#调用另一个Form的方法

objective-c - 如何用许多构造函数参数初始化一个类?

Python:如何最好地处理开发库和​​同时使用它的应用程序?

javascript - 读取 IFrame cookie

javascript - 如何在 Javascript 中调用 $http get 方法的参数函数