类引用本地模块function
说,有一个输出课程的模块。 它是否违反任何从类方法引用已声明的本地函数的原则?
一个例子:
function doSomething() {} class Cat { constructor () {} say () { doSomething() return 'meow' } } module.exports.Cat = Cat
这不仅违反了任何原则,而且是组织行为的好方法。 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"