타입스크립트의 기본 타입을 알아보자
타입은 변수나 함수 뒤에 붙여서 사용한다.
ex) const name: string
ex) function getName(): string { ... }
참(true) 또는 거짓(false) 값을 나타내는 타입이다.
이 둘 외에 값은 포현할 수 없다.
TypeScript에서 사용하는 모든 숫자를 나타낸다.
일반적인 프로그래밍 언어의 타입(int, long, float ...)과 다르게
number 하나로 정수, 실수 2, 8, 16진수까지 표현할 수 있다.
텍스트 데이터를 나타낸다.
'', "", ``를 사용해서 문자열을 표현한다.
``는 키보드의 ~키에 있는 백쿼트이다.
ES6부터 등장한 템플릿 리터럴을 사용할 떄 백쿼트를 사용한다.
배열은 기본타입에 []가 붙은 형태의 타입을 말한다.
ex) let numbers: number[]
튜플(tuple)은 서로 다른 타입의 원소를 순서에 맞게 가질 수 있는 특수한 형태의 배열이다.
일반적인 배열 타입은 같은 타입의 데이터만 들어갈 수 있는데,
튜플은 어떤 타입의 원소를 허용할 것인지 정의만 해주면 여러 타입의 데이터가 들어갈 수 있다.
ex) const person: [string, number, boolean] = ['Gildong', 20, false];
데이터와 타입의 갯수와 순서도 맞춰주어야 한다.
열거형 테이터 타입인 enum은
다양한 상수를 보다 더 이해하기 쉬운 문자열 이름으로 접근하고 사용할 수 있게 하는 타입이다.
예시를 보는것이 이해가 더 쉬울 것이다.
ex)
enum UserRole { ADMIN = "ADMIN", EDITOR = "EDITOR", USER = "USER", } enum UserLevel { NOT_OPERATOR, // 0 OPERATOR // 1 } function checkPermission(userRole: UserRole, userLevel: UserLevel): void { if (userLevel === UserLevel.NOT_OPERATOR) { console.log('당신은 일반 사용자 레벨이에요'); } else { console.log('당신은 운영자 레벨이군요'); } if (userRole === UserRole.ADMIN) { console.log("당신은 어드민이군요"); } else if (userRole === UserRole.EDITOR) { console.log("당신은 에디터에요"); } else { console.log("당신은 사용자군요"); } } const userRole: UserRole = UserRole.EDITOR; const userLevel: UserLevel = UserLevel.NOT_OPERATOR; checkPermission(userRole, userLevel);
enum은 명확하게 관련된 상수 값들을 그룹화하고자 할 때 사용하면 효과가 좋다.
enum 안에 있는 각 요소는 값이 설정되어 있지 않으면 기본적으로 숫자 0으로 시작하며,
enum 안에 있는 요소에는 number 혹은 string타입의 값만 할당할 수 있다.