- 재희님(발표자) 견해
타입스크립트가 런타임에 인식이 되지 않는다는 점이 중요
타입 시스템은 정적 타입의 정확성을 무조건 보장해 주는 목적이 아님
타입스크립트 사용 시 tsconfig.json 설정 비중이 큼
구조적 타이핑 때문에 문제가 발생할 수 있은
타입스크립트 문법이 런타임에서도 유효한지 생각
런타임 타입은 선언된 타입과 다를 수 있다를 인지 하는 것이 중요
이해하기 어려웠던 코드 → 하단 2번
// 봉인된, 닫혀있는 타입 시스템을 생각하고 만든 코드 -> error function calculate(v: {x: number, y: number}): number{ let sum = 0; for(const key of Object.keys(v)){ sum += v[key] } return sum; } // 봉인되어 있는 타입 시스템에 의도를 명확히 한 코드 // -> 명확히 사용할 내용을 나타내주면 런타임에서의 error를 줄일 수 있음 function calculate(v: {x: number, y: number}): number{ let sum = 0; sum += v.x + v.y; return sum; }
- 진욱님 질문 ‘타입스크립트 타입이 열려있다’의 궁금점
→ 키 값이 들어오면 string 배열로 들어오기 때문에 number가 아닐 수 있어 ‘열려있다’라고 말하고, 오류가 발생한다.
- 동호님 견해
→ 자바스크립트 모델링 한다 → 개인의 취향
→ 타입스크립트는 개발자 스스로가 의식할 수 있게 하기 위해 사용
- 효리님 견해
→ async, await 이전(이후?)에 들어오는 함수까지 타입스크립트가 다 잡아주지는 않는다.
→ 정적 타입 언어여도 api 변경 같은 건 못 잡아 준다..