[TypeScript] 타입 스크립트 : TS 기본 개념 및 데이터 타입과 추론

­chae-zero·2023년 5월 5일
0

FE

목록 보기
2/5

들어가며

TypeScript 란?

JaveScript + 타입 체크 = TypeScript

TypeScript(이하 TS)는 자바스크립트 대체 언어 중 하나로, 자바스크립트(ES5)의 상위 확장 언어이다.

즉, TS 실행 환경에 JS를 코딩하면 100% 동작한다.

그러나 JS 실행 환경에서 TS를 코딩하면 작동하지 않는다.

생활코딩

데이터 타입 체크

JS의 변수는 내용물을 담기는 편하지만 그 내용물이 무엇인지 알 수 없어 매번 확인해야 하는 종이컵과 같다.
이처럼 변수의 데이터 타입을 명확하게 알기 어려우면 타입의 안정성도 낮아진다.

TS는 페트병과 같다. 내용물이 명확히 표시되어 있고, 봉인되어 불순물이 없음을 보장한다.
이처럼 TS는 변수의 데이터 타입을 명확히 지정해주어 안정성을 높여준다.

왜 TS를 사용해야 하는가?

  • JS에 타입 체크 기능을 추가할 수 있다.
  • 현재 Github에서 4번째로 인기 있는 언어가 되었다.

TS의 데이터 타입과 추론

왜 데이터 타입이 중요한가?

JS의 변수에는 본래 어떤 데이터 타입의 값이든 할당될 수 있음.

그런데 만일 누가 특정 변수의 값에 잘못된 타입의 값을 할당하더라도,
JS는 이런 문제를 사전에 막아쥐 못함.

반면, TS는 변수 선언 시 데이터 타입을 지정함.
이렇게 하면, TS를 JS로 컴파일 할 때 데이터 타입에 다른 값이 할당되려 하면 error를 발생시킴.
이를 통해 사전에 버그를 잡을 수 있음.

데이터 타입의 종류

  • 기본 데이터 타입
  • 객체 데이터 타입
  • 특수 타입

기본 데이터 타입

  • number: 정수와 실수를 포함하는 숫자 타입
  • string: 문자열 타입
  • boolean: T/F
  • null: 값이 없음을 나타내는 타입
  • undefined: 값이 할당되지 않은 변수의 기본값 타입

객체 타입

  • object: 객체를 나타내는 타입
  • array: 동일한 타입의 요소를 가진 배열을 나타내는 타입
  • tuple: 각 요소가 다른 타입을 가질 수 있는 배열을 나타내는 타입 (TS 전용)

특수 타입

  • any: 어떤 타입이든 할당될 수 있는 타입 (TS 전용)
  • unknown: 타입을 미리 알 수 없는 경우에 사용되는 타입 (TS 전용)
  • never: 절대 발생하지 않는 값의 타입 (TS 전용)

타입 추론 기능

TS는 타입 추론 기능을 통해 변수의 타입을 자동으로 판단함.
명시적으로 타입 지정을 하지 않아도,
TS 컴파이러가 초기에 할당된 값을 바탕으로 변수 타입을 추론함.
그렇더라도, 타입 추론이 모호한 경우나 복잡한 로직에서는 명시적으로 타입을 지정해주는 것이 더 좋음.


출처: 생활코딩 (https://opentutorials.org/course/5080/32297)

profile
사람 재미를 아는 길잡이가 될래요

0개의 댓글