공부방
TypeScript란? 본문
- TypeScript는 안전하고 예측 가능한 코드 구현에 초점을 맞춘 JavaScript의 상위 집합 언어
- TypeScript의 가장 큰 특징은 기존 JavaScript에 Type System을 적용한 것
- TypeScript로 작성된 코드는 TypeScript 컴파일러를 통해 JavaScript 변환되고 이후 실행
- Type System 이외에도 TypeScript는 Decorators와 같은 다양한 기능을 제공
Type System
- TypeScript의 가장 큰 특징은 JavaScript의 타입 체계에 정적 타입(static typed)을 적용할 수 있도록 한 것.
- JavaScript는 동적 타입 체계(dynamic typed)의 언어로 변수에 타입을 지정하지 않는다.
- 동적 타입 체계는 프로그램에 유연성을 제공하지만 변수에 할당된 값을 읽어 사용하는 단계에서 문제가 발생할 수 있다.
- TypeScript는 변수, 파라미터에 타입을 지정할 수 있으며 선언된 타입의 값이 아닌 경우 에러를 발생
- TypeScript는 정적 타입을 지원. 변수의 정의와 함께 대입할 값의 타입을 함께 지정
- 변수를 정의하면서 타입을 함께 지정하면 해당 타입의 데이터만 대입 가능하며 다른 타입의 값을 대입하면 컴파일 시점에 에러가 발생
- 변수의 선언과 마찬가지로 함수의 매개변수, 반환값의 정의에도 동일한 시스템을 적용할 수 있다.
- 매개변수에 타입을 지정하면 해당 타입의 데이터를 전달 인자로 하며 반환 값도 동일
Type Inference
- 정적으로 타입을 명시하지 않고 대입하는 값을 통해 타입을 유추해 결정하는 것이 타입 추론
- 기본적으로 변수의 선언과 함께 값을 대입하는 경우 해당 변수는 타입 추론으로 인해 대입되는 값을 갖는다.
- 변수를 선언하고 같은 코드 라인에서 특정 값을 대입하면 TypeScript는 대입값의 타입을 유추해 변수의 타입을 확정
- 변수의 선언과 값의 대입을 다른 코드 라인에서 진행하면 해당 변수는 any 타입의 변수가 된다.
'TypeScript' 카테고리의 다른 글
Generics (0) | 2023.08.25 |
---|---|
투두 리스트 만들기 (0) | 2023.08.25 |
Annotation (0) | 2023.08.25 |