TypeScript
키워드
- REPL
- TypeScript
    - Interface vs Type
    - 타입 추론
    - Union Type vs Intersection Type
    - Optional ParameterREPL
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' // errorundefined를 쓸 일은 없고, 함수 매개변수(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