2017-10-30 2 views
1

클래스를 내보내는 모듈이 있다고 가정 해보십시오. 클래스 메서드에서 선언 된 로컬 함수를 참조하는 데 어떤 원칙을 위반합니까?로컬 모듈 함수에 대한 클래스 참조

예 :

function doSomething() {} 

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

module.exports.Cat = Cat 
+0

이 같은 모든 시간을 노드 모듈을 작성. 개인 스타일 외에도 개인용 메소드와 공개 API를 명확하게 구분할 수 있습니다. –

답변

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" 
관련 문제