반응형
📌TypeScript 기본타입 형성하기
let car:string = 'abc';
let isAdult:boolean = false;
let arr1:number[] = [1, 2, 3];
let age:number = 1300;
변수:데이터타입 형식으로 생성할 수 있습니다.
배열일 땐 []만 쓰는 것이 아니라, 데이터타입을 꼭 명시해줘야 합니다.
📌 Tuple
let b:[string, number]; // 첫 번째요소는 문자열, 두 번째 요소는 숫자
b = ['a', 1];
b[0].toLowerCase();
b[1].toLowerCase(); // number에는 toLowerCase()라는 메소드가 없다는 에러가 발생합니다.
TypeScript로 Tuple을 생성하면 원하는 데이터 타입만을 저장할 수 있습니다.
데이터 타입을 명확하게 해야 코드의 마지막 줄처럼 어떤 에러가 발생하는지 확인할 수 있어 유지보수에 유용합니다.
📌 무한루프
function infLoop():never {
while(true) {
//...
}
}
무한루프를 생성하고 싶을 땐 :never 를 붙이면 됩니다.
📌 enum(JS엔 없는 타입입니다.)
enum OS {
Window, // 0
IOS = 10,
Android // 11. 순서대로 1씩 증가된다.
}
console.log(OS[IOS]) // 10
console.log(OS[10]) // IOS
enum은 비슷한 타입끼리 묶어놓은 것을 의미합니다.
값을 주어지지 않는다면 순서대로 0, 1, 2,.... 1씩 증가합니다. IOS에 10을 주고 Android에 값을 안준다면 Android에는 자동으로 11이란 값이 주어집니다.
코드 아래에서 두 개의 줄이 가능한 이유는 enum을 생성하고 값을 숫자로 줬다면 양방향으로 맵핑이 되기 때문입니다.
enum OS {
Window = 'win',
IOS = 'ios',
Android = 'and'
}
console.log(OS[Window]); // win
enum이면서 값을 문자열로 줬다면 단방향 맵핑만 가능합니다.
//✳️ enum을 컴파일하면 아래와 같은 형태로 됩니다.
const OS = {
Window: 'win',
IOS: 'ios',
Android: 'and'
};
let myOS:OS: // 하면 OS 안에 있는 특정 값만 사용할 수 있습니다.
myOS = OS.Window;
console.log(myOS); // win
📌 null, undefined
let a:null = null;
let b:undefined = undefined;
null과 undefined로 데이터 타입을 생성하고 싶을 때 기본 형태와 동일합니다.
728x90
'TypeScript' 카테고리의 다른 글
React에서 props의 타입 정의하기 (0) | 2023.09.05 |
---|---|
React에 TypeScript 적용하기 (0) | 2023.08.30 |
서울 음식점 API의 Type 정의하기 (0) | 2023.08.29 |
TypeScript 3일차 (함수 형성하기) (0) | 2023.08.29 |
TypeScript 1일차 (사용하는 이유와 장점) (0) | 2023.08.19 |