Javascript와 Typescript의 가장 핵심적인 차이는 type이 있느냐 없느냐이다.
// JS
let a = 1;
let b = 2;
let c = a + b;
// TS
let a: number = 1;
let b: number = 2;
let c: number;
c = a + b;
💡 TS 장점 - type이 있음으로써 좋아지는 점?
// JS
const plus = (a, b) => {
let c = a + b; // 1.runtime err 발생
return c;
};
let a = 1;
let b = 'aa';
console.log('a + b = ' + plus(a, b));
// TS
const plus = (a: number, b: number): number => {
let c: number = a + b;
return c;
};
let a: number = 1;
let b: number = 'aa'; // 2. compile err 발생
console.log('a + b = ' + plus(a, b));
type을 명시함으로써 컴파일 단에서 미리 선언될 수 없는 변수를 차단
💡 JS 장점 - 하지만 JS가 좋을 수도 있잖아?
// JS
let a = 'string';
let b = 2;
a = 1;
let c = a + b;
console.log('a + b = ', c);
// TS
let a: string = 'string';
let b: number = 2;
a = 1;
let c: number = a + b;
console.log('a + b = ', c);
| JavaScript | TypeScript | |
|---|---|---|
| 장점 | 코드 작성이 유연하다. 빠른 코딩이 가능하다. | 컴파일 시 에러를 잡을수 있다. IDE와 결합성이 좋다. 코드 가독성이 좋다. |
| 단점 | 프로그램이 알수 없는 에러로 죽곤 한다. 코드 가독성이 비교적 떨어진다. IDE와 결합성이 비교적 떨어진다. | 코드 작성에 제약이 많다. 코드 작성에 시간이 많이 걸린다. 여러가지 설정이 좀 많다. |
✅ 결론 - TypeScript를 쓰자