본문 바로가기

개발/타입스크립트 3

[타입스크립트] 인터페이스 vs 타입 에 대하여 제가 배운 바로는 타입스크립트는 자바스크립트에 타입이 추가된 슈퍼셋 언어라고 배웠습니다. 그래서 타입을 선언할 때 interface 대신에 type를 쓰는 것이 뭔가 옳아 보인다고 생각하기도 했습니다. 하지만 어쩔때는 type보다 interface를 많이 쓰는 것을 보고 어느 것이 옳은 것인가 고민을 하다 제가 선택한 방법은 누군가 type으로 써놓으면 나도 type으로 선언하고 interface가 많으면 interface를 쓴다. 제가 이러한 방법을 생각한 이유는 적어도 일관성은 유지되지 않을까 라는 생각과 복붙의 용이성 때문이었습니다. 그 후에 이펙티브 타입스크립트를 읽으며 습득한 지식에 따르면 다행스럽게도 폐급 수준은 아니었음을 확인하였습니다. 책의 내용을 두괄식으로 요약하자면 저자 형님은 3가지를.. 2021. 7. 12.
[타입스크립트] jest , import svg 할때 생기는 문제점에 대하여 이번 포스트는 정확한 지식이 아닐지도 모른다는 두려움을 가지고 글을 시작하겠습니다.(아직 공부중이라..ㅜㅜ) 타입스크립트로 마이그레이션 하는 도중에 기존에 없었던 테스트 코드를 작성해보자고 마음을 먹고 facebook에서 만든 Jest를 사용해보고자 했습니다. Jest를 선택한 이유는 Jest 홈페이지 첫 화면에 있습니다. ==> 홈페이지( jestjs.io/ ) Babel, Typescipt, Node, React를 제가 사용하고 있기 때문에 제 상황에 아주아주 적절한 테스팅 프레임워크라고 판단했습니다. 이러한 이유로 공식문서를 읽어가며 함수에 대한 테스트 코드를 만들고 이젠 class에 대해 테스트 코드를 만들고 테스트를 실행했는데!! FAIL이 떠버립니다. 안되는 이유는 다양하니 어떤 이유로 안 되.. 2021. 3. 16.
[타입스크립트] 제네릭에 대하여 다음 코드를 한번 살펴보겠습니다. 들어온 number type의 arg를 그대로 돌려주는 함수가 있습니다. function identity(arg : number) : number { return arg; } 근데 number type 뿐만 아니라 string type이라면, 또는 boolean type이라면 어떻게 할까요? function identityNum(arg : number) : number { return arg; } function identityString(arg : string) : string { return arg; } function identityBoolean(arg : boolean) : boolean { return arg; } 이렇게 하나씩 구현을 하는 건 누가 봐도 멍청해.. 2021. 3. 15.