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

2017. 12. 22. 11:23· Basic/Typescript
목차
  1. 클래스는 유용합니다.


이 글은 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();


반응형
저작자표시 (새창열림)

'Basic > Typescript' 카테고리의 다른 글

[Typescript] Decorator  (0) 2018.01.03
[Typescript] Index Signatures(Indexable types)  (1) 2018.01.01
[Typescirpt] Class 알아보기  (0) 2017.12.22
[Typescript] 미래의 자바스크립트  (0) 2017.12.22
  1. 클래스는 유용합니다.
'Basic/Typescript' 카테고리의 다른 글
  • [Typescript] Decorator
  • [Typescript] Index Signatures(Indexable types)
  • [Typescirpt] Class 알아보기
  • [Typescript] 미래의 자바스크립트
에반황
에반황
"어른이면서 애이기도 하고 싶다."
에반황
에반, 어른반
에반황
전체
오늘
어제
  • 전체보기 (118)
    • About (1)
    • Backend (5)
      • Django (3)
      • Spring (2)
    • Database (2)
      • 아키텍처 (0)
      • SQL (0)
      • Redis (2)
      • 코딩 테스트 (0)
      • 요구 사항 해결 (0)
    • Infra, Cloud (0)
      • AWS (0)
      • GoCD (0)
      • Docker (0)
      • Kubernetes (0)
      • Mesos Marathon (0)
    • Basic (34)
      • C (1)
      • C# (4)
      • C++ (1)
      • Java (9)
      • Javascript (6)
      • Typescript (5)
      • GO (0)
      • Python (4)
      • 프로그래밍 기초 (1)
      • 게임 디자인 패턴 (1)
      • 운영체제 (0)
      • 알고리즘 (2)
      • 자료구조 (0)
    • Computer Science (0)
    • Frontend (74)
      • Swift (1)
      • Unity (31)
      • Android (13)
      • Vue.js (2)
      • Phaser (1)
      • Cocos2D JS (2)
      • Cocos Creator (16)
      • Facebook Instant Game (8)
반응형

인기 글

최근 댓글

hELLO · Designed By 정상우.v4.2.2
에반황
[Typescript] Class를 통한 구조적 추상화
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.