https://typescript-kr.github.io/pages/advanced-types.html#%ED%83%80%EC%9E%85-%EA%B0%80%EB%93%9C%EC%99%80-%EC%B0%A8%EB%B3%84-%ED%83%80%EC%9E%85-type-guards-and-differentiating-types 유니언 타입: 타입들을 겹치는 상황에서 사용, 하지만 한 타입이 명시적으로 존재하는지 구체적으로 알고 싶다면? let pet = getSmallPet(); if (pet.swim) { pet.swim(); } else if (pet.fly) { pet.fly(); } 위 코드는 아래
교차 타입 https://typescript-kr.github.io/pages/advanced-types.html#%EA%B5%90%EC%B0%A8-%ED%83%80%EC%9E%85-intersection-types 여러 타입을 하나로 결합한 타입. 즉 기존의 타입들을 하나로 합쳐 필요한 모든 기능을 가진 하나의 타입을 얻을 수 있다. 믹스인이란 https://en.wikipedia.org/wiki/Mixin 객체 지향 프로그래밍에
https://typescript-kr.github.io/pages/generics.html 재사용 가능한 컴포넌트를 생성하는 하나의 유용한 방법 제네릭 처음 접하기 function identity(arg: number): number { return arg; } number 말고도 다른 타입을 인자로 받는 함수를 만들고 싶어~ function identity(arg: any): any { return arg;
https://typescript-kr.github.io/pages/unions-and-intersections.html Union Types any를 사용하기 보단 예상되는 타입의 개수를 줄인다 function padLeft(value: string, padding: string | number) { // ... } let indentedString = padLeft("Hello world", true); | 로 타입을 구분 number | string | boolean은 값 타입이 number, string, boolean 중
https://typescript-kr.github.io/pages/enums.html Numeric Enums enum Direction { Up = 1, Down, Left, Right, } Up이 1부터 초기화되기 시작했기 때문에 그 뒤의 값들은 auto increment 된 값을 가진다 (각각 1, 2, 3, 4) 멤버를 전부 초기화하지 않는다면 0부터 시