|
연산자로 타입을 구분.()
는 선택사항임.&
연산자로 두 개 이상의 타입을 조합하는 경우.let myFunc: (arg1: number, arg2: number) => number;
myFunc = function (x, y) {
return x + y;
};
let num = 12;
num = 'Hello'; //Error - Ts2322
= Assertions.
타입 추론을 통해 판단할 수 있는 타입의 범주를 넘는 경우,
더 이상 추론하지 않도록 지시할 수 있음.
-> 타입스크립트보다 타입에 대해 더 잘 이해하고 있는 상황을 의미함.
!
를 사용.
-> null, undefined가 아님을 단언.
NAME is TYPE
function isNumber(val: string | number): val is number {
return typeof val === 'number';
}
interface
키워드와 함께 사용함.interface IUser {
name: string,
age: number,
isAdult: boolean
}
반드시 중괄호 안에 key: value 쌍으로 작성해준다.
보통은 ,
로 구분하지만 ;
으로 구분하거나 기호를 생략해도 된다.
?
를 붙이면 선택적인 속성으로 정의할 수 있다.interface IUser {
name: string,
age: number,
isAdult?: boolean // Optional property
}
readonly
키워드.interface IUser {
readonly name: string, // 읽기 전용
age: number
}
interface IName {
(PARAMETER: PARAM_TYPE): RETURN_TYPE // Call signature
}
implements
키워드를 사용함.interface IUser {
name: string,
getName(): string
}
class User implements IUser {
constructor(public name: string) {}
getName() {
return this.name;
}
}
막간을 이용한 근황 토크 💬
최근 약 2-3주간 블로그나 깃헙 방문을 못했었는데
간단히 이유를 말해보면 ... ?
다시 조금씩 힘내고있으니 열심히 개발 공부 다시 재개 🚀
당분간은 티스토리에서 알고리즘 풀이 마무리 짓고 오겠다 ✋