Type Script
-
TS: 인터페이스 구분하기 (ft. axios)Type Script 2022. 2. 9. 21:30
인터페이스를 각 매개변수나 객체들에게 선언해주어야 타입스크립트의 가장 큰 장점, 실시간 타입검사가 가능하다. 하지만 함수에 인터페이스를 적용할 때 가끔 그 결과의 구조가 어떻게될지 모르는 경우가 있다. 그 대표적인 예가 api를 사용할 때라고 생각한다. interface iGreeting { data: string; status: number; message: string; } // 언제나 200 status 만 내려오진 않을 것이다. const setGreeting = async (): string => { const response = axios.get(www.somthing.com); return response.data; }위의 예제에서 우리가 원하는 답안은 igreeting이라는 interfac..
-
javascript 와 typescript의 타입 시스템 기능Type Script 2022. 1. 25. 22:07
typescript는 javascript의 superset 언어로써, 초보자인 내가 보기엔 type이 묻어있는 javascript 이런 느낌이었다. (사실 지금도 그렇다.) 하지만 그 차이점을 먼저 정리해야 내 머릿속에 이 잘못된 인식이 바로잡힐 것 같다. type 이라는 개념은 typescript에만 존재하는 것이 아니다. number, string, boolean, enum 등등 자료형은 거의 대부분의 언어에 존재한다. typescript가 javascript와 가장 다른 점은 이 type을 언제 어떻게 결정, 변환, 검증 및 검출하는가 이다. 타입 시스템 기능 자바스크립트 타입스크립트 결정 방식 동적 타입 바인딩 대부분 정적, 점진적 변환 방식 자동으로 변환된다. (묵시적/암묵적 타입 변환) 대부분..
-
타입스크립트의 union type은 수학의 union type과 조금 다르다.Type Script 2022. 1. 17. 22:26
union type은 이 type 혹은 저 type이 올 수 있다는, or 연산자의 개념으로 소개되고 있다. A와 B의 합집합이라면 모든 값들에 접근할 수 있어야한다. 그렇다면 A와 B의 교집합 부분을 제외한 각각의 부분에도 union interface를 선언해주었다면 접근할 수 있을까? 접근할 수 없다. 그 이유는 다음과 같다. interface Bird { fly(): void; layEggs(): void; } interface Fish { swim(): void; layEggs(): void; } 여기 두 개의 interface 가 있다. Bird와 Fish는 서로 중복되는 메소드를 가졌고, 다음과 같이 나타낼 수 있다. 그리고 이 두 개의 interface를 유니언으로 삼는 새로운 functio..