Basic/Typescript

[Typescript] Class를 통한 구조적 추상화

에반황 2017. 12. 22. 11:23


이 글은 PC 버전 TISTORY에 최적화 되어있습니다.

클래스는 유용합니다.

다음과 같은 구조는 일반적으로 사용되는 패턴이죠.

function foo() {
    let someProperty;

    // Some other initialization code

    function someMethod() {
        // Do some stuff with `someProperty`
        // And potentially other things
    }
    // Maybe some other methods

    return {
        someMethod,
        // Maybe some other methods
    };
}

이는 드러내는 모듈 패턴 으로 알려져 있으며 Javascript에서 흔히 볼 수 있습니다. (자바 스크립트 클로저 사용).

만약 당신이 파일 모듈 패턴(전역 스코프에 매우 안 좋은)을 쓴다면 당신의 파일은 사실은 동일합니다. 그러나 사람들이 다음과 같은 코드를 작성하는 경우가 너무 많습니다.

let someProperty;

function foo() {
   // Some initialization code
}
foo(); // some initialization code

someProperty = 123; // some more initialization

// Some utility function not exported

// later
export function someMethod() {

}

비록 내가 상속에 대한 열렬한 팬이 아니지만, 사람들이 클래스를 사용하게하면 코드를 더 잘 구성 할 수 있다는 것을 알게됩니다 . 같은 개발자가 직관적으로 다음을 작성합니다.

class Foo {
    public someProperty;

    constructor() {
        // some initialization
    }

    public someMethod() {
        // some code
    }

    private someUtility() {
        // some code
    }
}

export = new Foo();


반응형