“에디터에 빨간 줄이 없으면 괜찮은 거 아냐?”
→ 사실, 런타임에서는 전혀 다를 수 있다.
“에디터에서 에러가 없으면, 데이터도 문제 없겠지!”
VSCode에서 빨간 줄이 없고, 타입 에러도 안 보이니 안심하고 데이터를 넘긴다?
하지만... 실제로 실행하면 터진다.
“NaN이 나왔네?” “왜 이게 undefined지?”
let a: number = "hello"; // 빨간 줄 (에디터에서 바로 보임)
type User = { name: string; age: number };
const data = JSON.parse('{"name": "홍길동"}'); // age 빠짐
const user: User = data; // 타입스크립트는 OK라고 생각함
console.log(user.age + 1); // NaN 발생 (버그)