readonly
- 타입 앞에 선언하며 값을 변경하지 못하게 막는다. 즉, 보호장치인 격
예
const nums: readonly number[] = [1, 2, 3, 4];
name.push(5); //안 되단고 오류가 뜸.
any
- TS는 타입은 선언하지 안 하고 값에 해당하는 타입으로 자동 설정이 된다. (그래도 선언하는 이유는 안전성과 코드 작성하는 분들에게 가시적으로 보여들이기 위함.) 그런데 any룰 타입으로 주게 되면 TS가 아닌 JS처럼 타입에 상관없이 조각 가능하게 해 준다.
const a : any = "12";
const b : any[] = [1, 2, 3];
a + b // '121, 2, 3'이 출력 됨
unknown
- 타입이 무엇인지 모를 때 사용하며 조건문을 이용해 타입을 선언하면 조건문 안에서는 그 타입으로 적용이 되어 사용할 수 있게 해 준다.
예
let a: unknown;
let b = a + 1; // 오류가 뜸
if (typeof a === 'number') {
let c = a + 1; // 됨
}
void
- 아무것도 return하지 않을 때 선언하며 선언하지 않아도 알아서 설정이 된다.
예
// 선언을 미리 한다면
function hello(): void{
console.log('와우');
}
never
- 함수가 return하지 않을 때 또는 한 변수에 타입을 여러 개 선언했을 때 해당 타입이 없을 시 선언 됨.
function num() {
return 1;
}
function num(): void {
return 1; //오류가 발생 됨.
}
function user(password: string|number) {
if (typeof name === 'string') {
password // 문자열
} else if (typeof name === 'number') {
password // 숫자형
} else {
password // void
}
}
'TS' 카테고리의 다른 글
TS 05-1 세팅1 (0) | 2023.02.03 |
---|---|
TS 04 class (private, protected, public) (0) | 2023.02.02 |
TS 03 overloading, Polymorphism, generic (0) | 2023.01.31 |
TS 01 TS(Typescript) 사용 이유, 타입 선언, 타입을 미리 선언(type) (0) | 2023.01.27 |