ES6何时使用功能,类或模块?

时间:2017-06-04 10:54:12

标签: javascript ecmascript-6

我正在学习ES6,有一件事让我感到困惑。

我一直在谷歌上搜索,找不到任何答案。

我正在考虑的方式就是:

功能:用于一些与misc相关的代码块。

:用于大块相关代码

模块:用于编写插件/相关功能

正如你所看到的,我有点困惑。

所以我的问题是:

我何时使用:ES6中的功能,A类或A模块?

2 个答案:

答案 0 :(得分:1)

功能:用于将一大块逻辑组合在一起。例如,一个操纵数据的函数。

:HAS属性和函数的对象。如果您需要创建该对象的多个副本,则非常有用。正如上面的评论所述:阅读面向对象编程以更好地理解类。

模块:一种在自己的.js文件中分隔代码(包括函数和类)的方法。在开发过程中,这会使代码分离,并允许您使用其他人创建的模块。在运行时,您可以将所有模块捆绑在一个大的.js文件中,或者甚至可以延迟加载模块。

答案 1 :(得分:1)

在JavaScript中,类并不存在。它们被转换/转换为函数,因为非常绿浏览器会跳过class关键字。

检查TypeScript Playground,它包含一个如何将类转换为函数的示例。

具有属性greeting和函数greet()

的示例类
class Greeter {
    greeting: string;
    constructor(message: string) {
        this.greeting = message;
    }
    greet() {
        return "Hello, " + this.greeting;
    }
}

哪个TypeScript编译成

var Greeter = (function () {
    function Greeter(message) {
        this.greeting = message;
    }
    Greeter.prototype.greet = function () {
        return "Hello, " + this.greeting;
    };
    return Greeter;
}());