Types
타입스크립트에서는 해당 변수가 어떠한 타입을 가질 것인지 미리 타입을 설정할 수 있다.
해당하는 타입이 아닌 다른 타입이 들어올 경우 error를 발생시켜
예상치 못한 에러를 미연에 방지할 수 있도록 한다.
1. number
const num: number = 1;
2. string
const string: string = 'hello';
3. boolean
const boal: boolean = false
4. undefined
undefined
의 경우에는 단독으로 사용하지 않고 다른 타입과 함께 사용된다. 단독으로 사용될 경우 해당 변수에는 undefined
만 담길 수 있는, 아무 것도 담을 수 없는 변수가 된다. 그러므로 단독으로 사용되지 않고 다른 타입과 함께 사용하여 optional type
, 즉 '값이 있을 경우 또 다른 타입이 사용되고, 없을 경우 undefined
를 출력한다' 로 사용된다. type
이 지정되어 있을 경우 반드시 값이 지정되어야 하기 때문이다 !
const age :number | undefined;
age = undefined;
age = 1;
5. null
null
의 경우도 undefined
처럼 동일한 이유로 단독으로 사용하지 않고 다른 타입과 함께 사용된다. 보통은 undefined
가 주로 보편적으로 사용된다.
const name :string | null;
name = null;
name = 'Tia';
6. unknown
unknown
은 무슨 타입이 들어올 지 미리 예측이 어려울 때 사용한다. 라이브러리 등을 사용하였을 경우, 정확히 return
값을 예상하기 힘들기 때문에 사용되는데, 가급적 사용을 지양하는 편이 좋다.
let notSure :unknown = 0;
notSure = 'hello'
notSure = true;
7. any
any
는 모든 타입의 변수를 다 담을 수 있다. 하지만 ! type
을 미리 지정함으로써 예상치 못한 에러를 줄이는 것을 강점으로 꼽는 타입스크립트 인데, any
를 사용하면 타입스크립트를 사용하는 이유가 반감되므로, 사용을 지양하는 편이 좋다.
let anything :any = 0;
anything = 'hello'
8. void
void
는 함수에서 아무것도 return
하지 않을 경우 사용되며 생략이 가능하다.
function sayHello():void {
console.log('hello')
return;
}
9. never
never
는 절대 발생할 수 없는 타입, 함수에서 항상 오류를 발생시키거나 절대 반환하지 않는 반환타입일 경우 사용된다. never
를 사용하면 사용이 불가능한 위치에 추가적인 코드를 사용할 수 있도록 해주고, 이는 더 나은 에러 메시지를 출력하거나, 반복문 등 을 닫는 데 유용하게 사용된다.
function throwError(message: string): never {
// message -> server (log)
throw new Error(message);
while (true) {}
}
10. object
object
는 어떤한 object
나 array
등 모든 타입을 담을 수 있다.
let obj: object;
function acceptSomeObject(obj: object) {}
acceptSomeObject({ name: "Tia" });
acceptSomeObject({ animal: "cat" });
큰 도움이 되었습니다, 감사합니다.