TypeScript
키워드
- REPL
- TypeScript
- Interface vs Type
- 타입 추론
- Union Type vs Intersection Type
- Optional Parameter
REPL
Read-Eval(evaluation)-Print Loop
사용자가 특정 코드를 입력하면 그 코드를 평하가고 코드의 실행결과를 출력해주는 것을 반복해주는 환경
TypeScript
npx ts-node
간단하게 REPL을 쓰고 싶다면 ts-node를 실행하면 된다.
변수에 대한 타입을 선언
let name : string
let human : {
name : string;
age : number;
}
타입정의하기
type Human = {
name : string;
age : number;
}
interface Person {
name : string;
age : number;
}
매개변수에도 타입을 선언할 수 있음.
사람에 따라 interface와 type의 선호도가 다름
function add(x : number, y : number) : number{
return x + y
}
함수의 return값에도 타입을 지정할 수 있음.
Type이 맞지 않으면 오류가 발생됨.
정해진 값으로 타입을 지정
정해진 값으로도 타입을 정할 수 있음.
정해진 값만 들어갈 수 있음.
Union에서 자주 사용됨.
let category : 'food'
배열
let numbers : number[];
numbers =[1,2,3]
Tuple
배열보다 깐깐하게 타입을 관리할 때 사용
let pair : [string, number];
pair = ['hp', 256]
any
아무거나 다 됨.
let a : any;
a = 1
타입추론
const name = '홍길동';
타입을 선언해 주지 않아도, 자동으로 타입을 추론함.
Union Type
여러 타입 중 하나
type MyBool = true | false;
bool은 true | false
매개변수를 제한하거나 할 때, 유용하게 사용할 수 있음.
type Category = 'food' | 'toy' | 'bag'
let c : Category;
c = 'desk' // error
undefined를 쓸 일은 없고, 함수 매개변수(parameters)에서 사용되곤 한다. 하지만 이보다는 물음표 기호(?)를 써서 Optional Parameter로 처리하는 걸 추천
function greeting({name?: string}) : string {
return `Hello ${name || 'world'}`
}
기본값을 선언해주면 더 좋음
function greeting({name :string = 'world'}){
return name;
}
type으로 따로 빼서 사용 가능
type Person = {
name : string;
age?: number
}
function greeting({name, age} : Person) {
return `${name}, ${age}`
}
Intersection Type
Generics, Utility Types, and Tips
타입스크립트 팁
Last updated