NOW OR NEVER

[11주차] 4. Typescript 복습(1) 본문

강의/제로베이스 프론트엔드 99일

[11주차] 4. Typescript 복습(1)

LAURA 2021. 10. 15. 19:51
반응형

Typescript 복습

  • 자바스크립트의 super set(상위집합 : 이전의 자바스크립트, 최신의 자바스크립트 다 해당)
  • 오픈소스
  • 정적인 언어로 자바스크립트와 반대되는 개념
  • 컴파일 시간(작성한 코드가 컴퓨터에서 타입을 검사하는 시간) 가짐
  • 장점
    • 여러 명의 개발자와 협업해서 할 때 실수 방지(강력한 타입이여서)
  • 다양하고 유명한 자바스크립트들은 타입이 다 정의되어 있어 편리하게 사용 가능
  • 프로그래밍 언어로써 모든 자바스크립트 기능을 지원할 뿐만 아니라 최신의 자바스크립트 기능도 지원해서 컴파일을 통해서 자바스크립트를 만들어내는 하나의 언어

컴파일러

  • 설치 : window의 경우 sudo npm install -g typescript
  • 실행 : tsc 타입스크립트 파일
  • 타입스크립트를 컴파일해서 자바스크립트로 만들어내는 역할
  • 특정 자바스크립트 버전으로 컴파일 하고 싶을 경우 : tsc 타입스크립트 파일 --target 버전

tsconfig. json

  • 별도의 컴파일러 설정파일(tsconfig.json) 설정 가능- 폴더 최상단에 위치해야 함
  • 포함되어질 파일들을 “include” :[] 로 줄 수 있다.

변수 선언

  • let, var.
    • 재할당 가능
  • var : 함수 단위의 블록 scope를 가짐. 함수 안에서 선언된 var 변수들은 함수 밖에서 사용 불가능, 함수 안에서 사용
  • let : 블록 단위의 scope를 가능 즉 { }안에서만 사용 가능
  • 타입스크립트는 초기값을 할당하고 선언하게 될 경우 초기 값을 기준으로 타입을 삼고 초기값을 정해주지 않을 경우 any 타입으로 설정됨
  • const : 재할당 불가능, 무조건 초기에 선언시 값을 주어야 한다.

기본타입

  • 변수 선언과 동시에 inline 형식으로 설정 가능
    • 예시 : let user1 {name:string, score: number
      }원시형 타입
  • number : 숫자형
  • string : 문자열, template literal도 포함
  • Boolean : true 혹은 false 값
  • 상호적으로 할당 가능 하지만 같진 않음, 모든 타입의 하위 타입으로 모든 타입에 할당 가능
  • undefined
  • null
  • 모든 타입의 상위 타입
    • any

레퍼런스 타입

  • object : 원시형 타입을 제외한 값들이 할당됨, 객체 할당 가능

ES6에서 선보인 새로운 원시형 타입

  • symbol : Symbol() 함수로만 생성 가능, 하나의 property 키로 쓰게 됨

배열 타입

  • 타입[] : []앞 선언한 타입대로만 배열 안 원소 넣을 수 있다.

튜플 타입

  • 타입 정의 시 안에 들어가는 항목의 개수와 타입을 미리 정의
  • let 변수 : [타입1, 타입2]

인터페이스

  • interface 인터페이스 이름 {}
  • 하나의 타입 설정
  • 이 파일이 어떠한 메서드(행위)를 사용하는지 선언
  • 타입스크립트의 인터페이스를 자주 쓰는 방식은 행위를 작성하지 않고 인터페이스가 가져야 할 속성(어떤 변수가 어떤 타입을 갖는지)만 기술
  • optional한 변수는 ?:로 표현
  • 컴파일 된 실제 자바스크립트에서는 나타나지 않음

함수형 타입

  • 함수 매개 변수에 타입을 작성해줄 수 있다.
  • 파라미터와 반환되는 값에 타입 지정 가능
  • optional한 변수는 ?:로 표현
  • ㅇㅇ (: type 작성해도 안해도 되고) = 기본 값
  • 함수 오버로드 : 함수에 대한 시그니처를 여러 개 지정할 수 있게 해줌
    • 예시
      function store(type:”통조림”) : Storage
      function store(type:”아이스크림”) : ColdStorage
  • 함수 store이 매개변수로 “통조림”이라는 속성을 가지는 type 받을 시 반환 값은 Storage 타입(인터페이스, type alias로도 지정 가능)이여야 한다. 똑 같은 함수를 여러 번 선언해서 올 수 있는 타입들을 지정
    • union type : function store(type:”통조림” | ”아이스크림”) { 각 타입에 따른 조건문}

enum 타입

  • 열거형
  • 상수들의 집합에 이름을 부여하게 됨
  • enum도 타입이다.
  • 함수 사용시 파라미터로 enum type 작성하고 반환 값을 조건문을 사용해서 어떤 상수값이랑 매치되는지 작성 해줄 수 있다.
  • enum 중괄호 안 값들 순서가 중요함, 그래서 초기값 선언시 실제로 값들을 할당하는 것이 좋다.

'강의 > 제로베이스 프론트엔드 99일' 카테고리의 다른 글

[12주차] 1. Typescript 복습(3)  (0) 2021.10.18
[11주차] 5. Typescript 복습(2)  (0) 2021.10.17
[11주차] 3. Typescript(3)  (0) 2021.10.14
[11주차] 2. TypeScript(2)  (0) 2021.10.13
[11주차] 1. TypeScript(1)  (0) 2021.10.12
Comments