Skip to content

typescript research #87

@salmonco

Description

@salmonco

https://joshua1988.github.io/ts/intro.html

TypeScript 왜 배워?
웹 개발하려면 JavaScript 쓰는데 TypeScript가 1) 에러 미연에 방지해주고, 2) 에디터 자동완성 제공해서 좋아.

웹 개발 왜 해?
서비스화 해야 하니깐?

  • Why TypeScript?
  • Fundamentals
    • 기본 타입
    • 함수
    • 인터페이스
      • 옵션 속성 ?은 undefined 가능. null은 X
    • 이넘
      • 숫자형 이넘 : 초기값 안 주면 0부터 시작
      • 문자형 이념
      • 이넘은 런타임시에 실제 객체 형태로 존재한다.
      • keyof 대신 keyof typeof 사용하기
    • 연산자를 이용한 타입 정의
      • 유니온 타입 |
      • 인터섹션 타입 &
      • 논리적으로 유니온 타입은 OR, 인터섹션은 AND라고 생각했는데, 그 반대였음
        • 타입스크립트 관점에서는 introduce() 함수를 호출하는 시점에 Person 타입이 올지 Developer 타입이 올지 알 수가 없기 때문에 어느 타입이 들어오든 간에 오류가 안 나는 방향으로 타입을 추론하기 때문.
        • Person | Developer : Person과 Developer 두 타입에 공통적으로 들어있는 속성인 name만 접근할 수 있게 된다.
    • 클래스
    • 제네릭
      • 여러 가지 타입에서 동작하는 컴포넌트를 생성하는데 사용된다. 제네릭이란 타입을 마치 함수의 파라미터처럼 사용하는 것을 의미한다.
      • 제네릭 탄생 배경: 여러 타입에서 동작하도록 하려면 any를 써야 하는데, any는 타입 검사를 하지 않아서 어느 타입인지 알 수 없던 문제
    • 타입 추론
    • 타입 호환
    • 타입 별칭
    • 타입 단언
    • 타입 가드
  • Usage
    • 모듈
    • d.ts 파일
    • 인덱싱
    • 유틸리티 타입
    • 맵드 타입
    • 조건부 타입
    • infer 키워드
  • Config
    • tsconfig
    • types 라이브러리
  • ETC
    • 타입
    • JS에 TS 적용하기

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions