-
(TypeScript) - TypeScript 기본 타입개발/TypeScript 2025. 8. 18. 14:18반응형
■ TypeScript 기본 타입

타입스크립트가 제공하는 기본 타입을 계층 구조로 나타내었다.
우리가 기본적으로 알고 있는 number, string 과 같은 기본 타입도 있지만
타입스크립트에서만 사용하는 기본 타입도 보인다.
■ 원시타입

: 동시에 하나의 값만 저장할 수 있는 타입을 말한다.
그 종류에는 number, string, boolean, null, undefined 그리고 리터럴 타입이 있다.
- number

타입스크립트는 변수 이름 뒤에 콜론을 쓰고 타입을 작성해서 변수 타입을 지정할 수 있는데,
이런 문법을 [타입 주석] 또는 [타입 어노테이션] 이라고 한다.

number 타입은 다음과 같다.
양수, 음수, Infinity, 음수 Infinity, NaN(Not a Number) 로 되어 있다.
따라서 다음과 같이 number 타입과 일치하지 않는 'hello' 인 경우에 바로 코드 상에서 오류로 띄워준다.

숫자에서 사용 가능한 toFixed() 메서드는 오류가 안뜨지만,
String에서 사용 가능한 toUpperCase() 메서드는 오류가 난다.
- string
// string let str1: string = 'hello'; let str2: string = 'hello'; let str3: string = `hello`; let str4: string = `hello ${num1}`; str1.toUpperCase();string 은 작은 따옴표, 큰 따옴표, 리터럴까지 포함한다.
- boolean
// boolean let bool1: boolean = true; let boo12: boolean = false;- null
// null let null1: null = null;- undefined
// undefined let unde1: undefined = undefined;- 리터럴 타입
// 리터럴 타입 // 리터럴 -> 값 let numA: 10 = 10; let strA: 'hello' = 'hello'; strA = 'hi'; //오류 발생!타입스크립트에서 독특한 게 리터럴 타입이다.
리터럴 타입은 변수 타입을 값 그 자체로 정의한다.
즉 다음과 같이 숫자 strA 을 하나의 타입으로 지정하고 해당 변수에는 'hello '그 값만 할당이 가능한 것이다.
따라사 strA를 hi 로 할당했기 때문에 오류가 나는 것이다.
정리하자면 원시타입 중에 포함되는 값 중에 하나를 마치 타입인 것처럼 정의해서 사용이 가능한 것이다.
※ strictNullChecks (원시 타입 null 할당하고 싶을 때)
let numA: number = null;다음 코드와 같이 number로 타입이 정해진 곳에 우선적으로 null 을 할당해야 할 케이스가 있을 수 있다.
하지만 number 는 숫자만 할당 하므로 이 코드를 작성할 경우 오류가 발생한다.
"strictNullChecks": false,그럴 경우에는 tsconfig.json 에서
strictNullChecks 를 false 로 설정하면 된다.
이러면 원시형 Type 에도 임시로 null 값 설정할 수 있다.
따라서 null 로 넣을 값이 많다면 strictNullChecks 꺼주고,
엄격하게 관리하고자 한다면 true 로 바꿔주면 된다.
"strict": true, "strictNullChecks": false,strict 가 strictNullChecks 의 상위 옵션이다.
따라서 strict 가 켜져있으면 기본적으로 strictNullChecks 가 켜져 있게 된다.
반응형'개발 > TypeScript' 카테고리의 다른 글
(TypeScript) - TypeScript 객체 (0) 2025.08.18 (TypeScript) - TypeScript 배열과 튜플 (0) 2025.08.18 (TypeScript) - TypeScript 컴파일러 옵션 설정하기 (0) 2025.08.18 (TypeScript) - TypeScript 컴파일 후 실행해보기 (0) 2025.08.14 (TypeScript) - TypeScript 와 TypeScript 의 동작 원리 (0) 2025.08.14