类引用本地模块function

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

一个例子:

function doSomething() {} class Cat { constructor () {} say () { doSomething() return 'meow' } } module.exports.Cat = Cat 

       

网上收集的解决方案 "类引用本地模块function"

这不仅违反了任何原则,而且是组织行为的好方法。 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"