본문 바로가기

js/TypeScript

TypeScript - TypeScript란?

 

  1.Type System

  • TypeScript 는 안전하고 예측 가능한 코드 구현에 초점을 맞춘  JavaScript 상위 집합 언어입니다.
  • TypeScript 의 가장 큰 특징은 JavaScript에 Type System을 적용한 것으로 정적 데이터 타입입니다.
  • TypeScript 로 작성된 코드는 TypeScript 컴파일러를 통해 JavaScript 로 변환되고 이후 실행됩니다.
  • Type System 이외에도 TypeScript는 Decorators와 같은 다양한 기능을 제공합니다.

TypeScript = JavaScript + Type System

 

  • TypeScript의 가장 큰 특징은 JavaScript의 타입 체계에 정적 타입을 적용할 수 있도록 한것입니다.
  • JavaScript는 동적 타입 체계의 언어로 변에 타입을 지정하지 않습니다.
  • 동적 타입 체계는 프로그램에 유연성을 제공하지만 변수에 할당된 값을 읽어 사용하는 단게에서 문제가 발생 할 수있습니다.
  • TypeScript는 변수, 파라미터에 타입을 지정할 수 있으며 선언된 타입의 값이 아닌 경우 에러를 발생합니다.

  • TypeScript는 정적 타입을 지원 합니다. 변수의 정의와 함께 대입할 값의 타입을 함께 지정합니다.
  • 변수를 정의하면서 타입을 함께 지정하면 해당 타입의 데이터만 대입 가능하며 다른 타입의 값을 대입하면 컴파일 시점에 에러가 발생합니다.
  • 변수의 선언과 마찬가지로 함수의 매개변수, 반환값의 정의에도 동일한 시스템을 적용할 수 있습니다.
  • 매개변수에 타입을 지정하면 해당 타입의 데이터를 전달 인자로 하며 반환 값도 동일합니다.

2.Type Inference 

  • 정적으로 타입을 명시하지 않고 대입하는 값을 통해 타입을 유추해 결정하는 것이 타입 추론(type inference)입니다.
  • 기본적으로 변수의 선언과 함께 값을 대입하는 경우 해당 변수는 타입 추론으로 인해 대입되는 값의 타입을 갖습니다.
  • 변수를 선언하고 같은 코드 라인에서 특정 값을 대입하면 TypeScript는 대입값의 타입을 유추해 변수의 타입을 확정합니다.
  • 변수의 선언과 값의 대입을 다른 코드 라인에서 진행하면 해당 변수는 any 타입의 변수가 됩니다.

 

'js > TypeScript' 카테고리의 다른 글

TypeScript - 이넘(Enums)  (0) 2022.07.27
TypeScript - 인터페이스  (0) 2022.07.27
TypeScript - 함수  (0) 2022.07.27
TypeScript - Union Type  (0) 2022.07.27
TypeScript - 기본 타입  (0) 2022.07.26