반응형
원시타입
원시 타입은 배열이 아닌 한개의 값만 저장할 수 있는 타입들을 말함.
number
- 숫자를 의미하는 모든 값들을 의미함
- 정수, 음수, 소수, Infinity, Nan 등 특수한 숫자도 포함
// number
let num1: number = 123;
let num2: number = -123;
let num3: number = 0.123;
let num4: number = -0.123;
let num5: number = Infinity;
let num6: number = -Infinity;
let num7: number = NaN;
// 이렇게 선언된 num 변수는 string 타입값이 사용 불가능한 toUpperCase() 는 사용이 불가능함
num1.toUpperCase(); // Error
string
- 문자열을 의미하는 타입
- 쌍따옴표, 작은 따옴표, 백틱, 템플릿 리터럴로 만든 모든 문자열을 의미
// string
let str1: string = "hello";
let str2: string = 'hello';
let str3: string = `hello`;
let str4: string = `hello ${str1}`;
boolean
- 참과 거짓을 저장하는 타입
// boolean
let bool1 : boolean = true;
let bool2 : boolean = false;
null
// null
let null1: null = null;
- 오직 null 값만 포함하는 타입
undefined
// undefined 타입
let unde1: undefined = undefined;
- null과 마찬가지로 오직 undefined 만 포함하는 타입
null 값을 다른 타입의 변수에 할당하기
// JS 에서는 변수에 값을 할당하기 전에 null 선언이 가능했다
let numA = null;
// TS 에서는 numA 변수가 number 타입이라면 에러가 발생함
let numA: number = null;
// null은 number 타입에 포함되는 값이 아니기 때문에 오류가 발생하는 것
만약 null 값을 변수의 임시값으로 사용하고 싶다면
tsconfig.json
{
"compilerOptions": {
...
"strictNullChecks": false, // 엄격한 검사 false 로 설정
...
},
"ts-node": {
"esm": true
},
"include": ["src"]
}
- strictNullChecks 옵션은 TS 에서 null 값을 null 타입 이외의 타입의 변수에 할당하는 것을 금지할지 허락할지 결정하는 옵션
- 기본값은 true이며 이 옵션이 true로 켜져있을 경우 엄격하게 null 값을 검사해 null 타입이 아닌 변수에는 null 값을 할당할 수 없도록 제한
- false 로 설정하면 어떤 타입의 변수든 null 값 할당 가능
- 안전한 TS 코드를 작성하는 측면에서 도움이 되지 않음
리터럴 타입
타입스크립트에는 string, number 처럼 범용적으로 많은 값을 포함하는 타입 뿐만 아니라 딱 하나의 값만 포함하는 타입도 존재
다음과 같이 타입을 숫자 10으로 설정하는것 또한 가능
// 이렇게 하면 numA 에는 10 이외의 값이 들어올 수 없다
let numA: 10 = 10;
이렇듯 하나의 값만 포함하도록 값 자체로 만들어진 타입을 TS 에서는 리터럴 타입이라고 부름
// 다른 타입들도 가능하다
let strA: "hello" = "hello";
let boolA: true = true;
let boolB: false = false;
반응형
'Typescript' 카테고리의 다른 글
Typescript | 타입 호환성, 대수타입 (2) | 2024.10.29 |
---|---|
Typescript | void, never (0) | 2024.10.25 |
Typescript | Enum, any, unknown (0) | 2024.10.25 |
Typescript | 객체, 타입 별칭, 인덱스 시그니쳐 (0) | 2024.10.24 |
Typescript | 배열과 튜플 (1) | 2024.10.24 |