TypeScript for JavaScript Programmers
타입을 선언할 때는 type보다 interface를 선호한다.
Unions는 할당할 수 있는 값을 제한하여 선언할 수 있다.
The Basics
코드를 실행할 때 자바스크립트 런타임은 값의 유형, 즉 어떤 종류의 동작과 기능을 가지고 있는지 파악하여 수행할 작업을 선택해야 한다.
기본값 문자열이나 숫자와 같은 일부 값의 경우 런타임에 typeof 연산자를 사용하여 유형을 식별할 수 있다. 그러나 함수와 같은 다른 값의 경우 해당 유형을 식별할 수 있는 런타임 메커니즘이 없다.
자바스크립트는 함수를 실행할 수 있는 경우인지 확인할 수 없다. 가능한지 확인하는 경우는 함수를 호출하여 발생하는 일을 확인하는 것 뿐이다. 이러한 동작 방식은 코드가 실행되기 전에 어떤 동작을 할지 예측하기 어려운 문제점이 있다. 자바스크립트는 코드를 실행하여 어떤 일이 일어나는지 확인하는 동적 타이핑을 제공한다.
대안은 정적 타입 시스템을 사용하여 코드가 실행되기 전에 코드가 수행될 것으로 예상되는 작업을 예측하는 것이다. 이것은 ECMAScript 사양에 언어가 예상치 못한 상황에 직면했을 때 어떻게 동작해야 하는지에 대한 명시적인 지침이 있기 때문에 발생한다.
타입스크립트에는 켜거나 끌 수 있는 여러 가지 타입 검사 엄격성 플래그가 있다. 다루는 프로그램마다 null이나 undefined를 검사하지 않는 등 엄격성에 차이가 있을 수 있기 때문이다. 아래는 예시에 해당한다.
1. strig flag in the CLI.
2. "strict": true in a tsconfig.json
3. nolmplicitAny : 유형이 암시적으로 any로 유추되는 모든 변수에 대해 오류가 발생한다.
4. strictNullChecks : null과 undefined을 참조하는 것을 방지한다.
Documentation - The Basics
Step one in learning TypeScript: The basic types.
www.typescriptlang.org
'Typescript' 카테고리의 다른 글
[Typescript] 공식문서 공부중3 (0) | 2024.06.20 |
---|---|
[Typescript] 공식문서 공부중2 (0) | 2024.06.20 |
[Typescript] 무한스크롤(Infinity scroll) (0) | 2024.06.18 |
[Typescript] 설치한 모듈의 타입 적용 (1) | 2024.06.05 |
[Typescript] interface와 type 차이점 (0) | 2024.06.05 |