TypeScript 타입의 종류를 블로그에 다시 쓰면서 공부한 내용을 복습해 보고자 합니다.
타입의 종류
- number
- 1, 2, 3, 4 ...
- string
- '가나다라', 'abcd'
- boolean
- true, false
- bigint
- 2^53 - 1보다 큰 정수
- symbol
- 불변하고 유니크한 값입니다. (생성된 심볼은 다른 값이랑 같아도 a===b false)
- null
- 비어 있는 상태
- undefined
- 정의되지 않은 상태
- void
- function에서 return값이 없을 때 사용합니다.
- never
- function에서 절대 리턴하지 않아야할 때 사용합니다. (사용할 일이 거의 없습니다.)
- any
- 어떤 타입도 올 수 있습니다. (그래서 사용하지 않습니다.)
실제 코드
TypeScript에서는 변수 뒤에 : type을 써 주면 됩니다.
간단합니다.
const num: number = 6;
function goodNight(timer: number): void {
lightOff();
setTimer(timer);
console.log(`안녕히 주무세요.`);
};
타입이 둘 중에서 하나! OR
변수나 함수 안에 타입이 두 개 중에 하나가 오면 될 때는 '|' 을 사용합니다.
const goodBoy: string | number = 'me'; //OK!
const goodBoy: string | number = 20; //OK!
const goodBoy: string | number = true; //ERROR!
타입의 정의
또한 타입을 직접 만들 수도 있습니다.
type Teacher = {
name: string;
age: number;
job: string;
};
const meSchoolTeacher = {
name: 'brown',
age: 82,
job: 'teacher'
} //OK!
const youSchoolTeacher = {
name: 86, //type이 안 맞습니다
age: 82,
job: 'teacher'
} //ERROR!
마무리 (느낀점)
- 타입이 추가된 것 뿐인데 여러 가지 개념이 추가되면서 코드를 짜는 방법이 달라지는 것에 놀랐습니다.
- JavaScript로 코딩할 때 Type Errorr가 난 적이 있는데, 똑같은 코드를 TypeScript로 옮기니까 어디가 잘못되었는지 바로 파악할 수 있어서 편리했습니다.
- Type을 정의해야 하는 Java를 공부할 때와 비슷한 느낌을 받았습니다.
- JavaScript에서 Type을 쓰지 않아서 편하다고 생각했는데, 조금 공부한 후에는 반대로 Type을 정의하는 것이 더 편하다는 느낌을 받았습니다.
Comments