ex) JavaScript
let variable = 5-"3"; // 2
[1,2,3,4] + true; // '1,2,3,4true'
// 엄청 이상함!
// but
// JavaScript에서는 에러가 나지 않음 => 안정적이지 않다!
⇒ JavaScript는 유연하지만 프로젝트가 커지면 단점이 됨
ex) TypeScript
let variable = 5-"3";
// TypeScript에서는 에러가 난다
let obj = {
score : 100;
}
obj.scoer
// Property `scoer` does not exit on type ` ...
// Did you mean `score`?
const employee = {name : 'james'}
employee.hire(); // error (자바스크립트는 에러가 날 거라는 걸 몰라서 그냥 코드를 실행시킴)
// 타입스크립트에서는 위 함수가 실행되기 전에 실행시키지 않는다.
// => vscode가 이 코드를 실행하면 런타임 에러가 날거라고 경고한다.
// 코드가 실행되기 전에 미리 에러를 발견하고 싶으면 TypeScript로!