TypeScript 기초 - 2

Hwang Won Tae·2022년 6월 27일
post-thumbnail

TypeScript

정적 유형 검사, tsc 컴파일러 등에 대해 알아보자.
그리고 엄격한 규칙 noImplicitAny와 stricNullChecks까지 알아보도록 하자.


정적 유형 검사

변수가 아닌 메서드를 호출하거나, 오타로 인한 잘못된 메서드를 작성하는 등
개발자는 수 많은 실수를 한다.

예시로 알아보자.

  1. 잘못된 호출

  2. 오타

  3. 존재하지 않는 데이터 호출

위 세 가지 케이스를 통해 TS의 정적 유형 검사로 개발자의 실수를 줄일 수 있게 된다.


자동 완성

JS는 오브젝트 내의 데이터의 자동완성을 제공하지 않는다.
하지만 TS를 사용하면 자동완성을 제공하며
Interface를 선언하여 api로 호출된 데이터를 정규화하여 자동완성 시키는 것도 가능하다.


tsc 컴파일러

tsc index.js와 같이 터미널에 명령어를 입력하면 TS 파일을 기반으로 JS 파일이 생성된다.

만약 에러가 있음에도 컴파일을 진행하면 파일은 생성되나 다음과 같은 로그가 발생한다

Downleveling

tsc에서 지정한 JS버전에 따라 컴파일 결과가 다르다.
아래와 같은 코드를 통해 특정 버전으로 컴파일이 가능하다.
tsc --target es2017 index.ts


엄격한 규칙

대부분의 사용자는 컴파일 전에 결과를 확인하고 싶어한다.
따라서, 컴파일 전에 에러를 캐치할 수 있도록 몇 가지 규칙이 있다.

이번 검사에서는 noImplicitAny와 stricNullChecks만 알아볼 것이다.
전체 규칙 종류는 아래와 같다.

noImplicitAny

개발자는 nameage를 통한 이름, 나이 값을 반환받기를 원하는데 나이 값에 다른 값이 들어온다면?
any 타입이 아닌 stringnumber타입으로 명시적으로 데이터 형식을 선언하면 실수를 줄일 수 있다.

strictNullChecks

개발자가 null 혹은 undefined 값을 참조하는 것을 방지한다.
만약 null 혹은 undefined 값을 주고 싶다면 B와 같이 명시적으로 선언해야 한다.


레퍼런스

TypeScript Handbook

profile
For me better than yesterday

0개의 댓글