类引用本地模块函数

时间:2017-10-30 19:04:40

标签: javascript node.js module

说,有一个模块可以导出一个类。它是否违反了从类方法引用声明的本地函数的任何原则?

一个例子:

function doSomething() {}

class Cat {
    constructor () {}
    say () {
        doSomething()
        return 'meow'
    }
}

module.exports.Cat = Cat

1 个答案:

答案 0 :(得分:2)

这不仅违反任何原则,而且是组织行为的好方法。 doSomething()将是模块专用的函数。这样可以轻松地向类中公开一致的接口,而无需担心实现。

例如在mod.js

function doSomething() {
    console.log("I'm doing something")
}

class Cat {
    constructor () {}
    say () {
        doSomething()
    }
}

module.exports.Cat = Cat

现在使用它:

var mod = require('./mod')
var cat = new mod.Cat
cat.say()
// logs to console: "I'm doing something"