[TS] 타입스크립트의 기초(1) - type 키워드 및 Type에 대한 이해
·
Learning-Log/Computer Science
TypeScript(TS)는 기본적으로 Javascript complier다. TS는 Strongly type 언어이고 JS에서 발생할 수 있는 오류를 미리 감지하고 경고해준다. 따라서 TS에서 오류가 없다면 JS에서도 오류가 없을 것이다. 이것은 마치 모래를 촘촘한 거름망을 통해 먼저 걸러내는 것과 비슷하다. 촘촘한 거름망으로 걸러내고 나면 더 큰 거름망에서는 아무런 문제 없이 통과할 것. TS는 암묵적 Type과 명시적 Type을 모두 지원한다. Type은 변수를 선언할 때 명시적으로 지정해줘야한다. 그렇지 않으면, 변수 선언 후 처음으로 할당될 때를 기준으로 Type이 추론된다. 따라서 처음 할당된 변수의 Type과 다른 Type을 추후에 섞어서 쓰게 되면 에러가 뜬다. 변수의 Type은 기본적으로..
[TS] 타입스크립트 Generic에 대한 이해와 활용
·
Learning-Log/Computer Science
첫 번째 인자로 어떤 Array를 받아와서 두 번째 인자로 입력된 값을 Array의 가장 마지막에 추가하는 함수를 생각해보자. TS로 이 함수를 작성하려면 다음과 같이 작성 가능하다. type AddItem = (arr:(T|M)[], item : M) => (T|M)[] const addItem : AddItem = (arr, item) => { arr.push(item); return arr } 이 때, arr: (T | M)[ ] 부분이 이해가 안갈 수 있다. 은 item에서 정해져야할 것 같은데 arr에서 을 쓰면 뭔가 엉키지 않을까? 결론부터 말하면 엉키지 않는다. 위 코드를 작성한 뒤 TS의 Call Signature를 뜯어보자. 위 사진에서 볼 수 있듯 첫 번째 인자인 arr까지만 작성한다면..