TypeScript 타입 완벽 이해

TypeScript는 타입 시스템에 의존합니다. 이를 마스터하는 것이 더 나은 코드를 작성하기 위한 첫 번째 단계입니다.

기본 타입

TypeScript는 JavaScript의 원시 타입(primitives)과 유사한 타입을 사용합니다: • string: 텍스트용. • number: 모든 숫자(정수 및 부동 소수점)용. • boolean: true 또는 false 값용.

타입 추론

항상 타입을 직접 작성할 필요는 없습니다. TypeScript는 제공된 값을 바탕으로 타입을 추측하곤 하는데, 이를 '추론(inference)'이라고 합니다.

권장 규칙: • 지역 변수는 TypeScript가 타입을 추론하도록 두세요. • 함수의 매개변수와 반환 타입에는 명시적인 타입을 작성하세요.

배열과 튜플

배열은 동일한 타입의 여러 값을 저장합니다. • 예시: let tags: string[] = ["ts", "js"];

튜플은 길이가 고정되어 있고 각 위치마다 특정 타입이 지정된 배열입니다. • 예시: let user: [string, number] = ["Ramesh", 31];

유니온 타입

값이 하나 이상의 타입이 될 수 있을 때 유니온 타입을 사용합니다. • 예시: let id: string | number = "abc123";

특수 타입

초보자들이 자주 혼동하는 네 가지 타입이 있습니다:

  1. any 타입 체크를 비활성화합니다. 코드가 일반 JavaScript처럼 동작하게 만듭니다. 최후의 수단으로만 사용하세요.

  2. unknown any의 안전한 버전입니다. 값은 무엇이든 될 수 있지만, 사용하기 전에 반드시 타입을 확인해야 합니다.

  3. void 값을 반환하지 않는 함수에 사용합니다.

  4. never 에러를 던지거나 무한 루프를 실행하는 등, 결코 종료되지 않는 함수에 사용합니다.

워크플로우 요약: • 대부분의 데이터에는 원시 타입을 사용하세요. • 코드를 깔끔하게 유지하려면 타입 추론을 활용하세요. • 유연한 입력을 위해 유니온 타입을 사용하세요. • any 사용을 피하세요. • 확실하지 않을 때는 any 대신 unknown을 사용하세요.

출처: https://dev.to/ramesh_s_a8f0867d239e927c/typescript-types-demystified-simple-types-special-types-and-type-inference-5bf0