본문 바로가기

TypeScript

[TypeScript] 이펙티드 타입스크립트 스터디 01,02 - 타입스크립트?

728x90
반응형

 

자바스크립트는 타입 스크립트에 속합니다.
즉, 자바스크립트로 작성된 모든 코드는 타입스크립트입니다.


자바스크립트는 런타임에서 타입을 알게되고,

타입스크립트 타입 시스템은 자바스크립트 런타임 동작을 모델링합니다.

이렇듯, 런타임으로 가기전에 타입검사를 함으로 런타임에 발생할 수 있는 오류를 먼저 잡아낼 수 있어

프로그램 개발자에게 빠르게 알려줄 수 있습니다.

 

tsconfig.json

ts 파일들을 .js 파일로 변환할 때 어떻게 변환할 것인지 세부설정을 할 수 있는 파일

 

컴파일타임과 런타임과 에러

컴파일타임(Compiletime)

    개발자가 작성한 소스코드를 컴파일하여 기계어로 변환하는 과정.

  컴파일 타임 에러  
신택스에러(Syntax error), 파일참조 오류, 타입 체크 오류, ...
컴파일러는 컴파일 타임 에러를 발생시키고 일반적으로 문제를 일으킨 소스코드 라인을 지시해준다.

 

런타임(Runtime)

    컴파일을 마친 프로그램이 사용자에 의해 실행되어 동작되어지는 때.

  런타임 에러  
0나누기 오류, 널(Null)참조 오류, 메모리 부족 오류
프로그램이 실행중에 발생하는 형태의 오류로 사용자가 맞닥뜨릴 수 있으므로 매우 조심해야 한다

 

  • 컴파일은 타입체크와 독립적으로 동작하기 때문에 타입오류가 있는 코드도 컴파일이 가능하다.
  • 컴파일은 코드가 생성될때만 할 수 있는 말이고 코드가 오류가 있다면 타입체크에 문제가 있다고 하는게 정확한 표현이다
  • 런타임에는 타입체크가 불가능하다..런타임에는 타입 설정한 부분이 다 사라짐

 

 

Class in Typescript

클래스는 자바스크립트에 구현되어있는 실제 값이기도 하면서 interface처럼 타입으로도 존재 할 수 있다.

21번째 줄에서 new 생성자를 사용한건 클래스 인스턴스가 필요하기때문 (초기값 width도 넣어줌)

  • 런타임 오버헤드가 없는대신 빌드타임 오버헤드가 있다. (빌드할때 오래걸림)
  • 빌드할때는 변환만 하고 타입체크는 하지않음

 

type 지정시 any 사용을 지양하자!

객체에 any쓰면 객체 값 추론 같은 기능을 사용 할 수 없다.

vscode의 이름바꾸기 기능을 제대로 사용 할 수 없다.

 

 


✔️ 참고

https://ryusm.tistory.com/147

https://www.youtube.com/watch?v=O4-8lQOZ2Tg&list=PLjQV3hketAJmXGaWCMGB9-085EiefWcyw&themeRefresh=1

https://www.youtube.com/watch?v=B0ZtPaZ-e9A&list=PLjQV3hketAJmXGaWCMGB9-085EiefWcyw&index=2

728x90
반응형