1. 왜 타입스크립트를 이용하는가?
- 안정성 때문 (타입 안정성)
- 타입 안정성 때문에 TS의 장점을 이용할 수 있다 → 코드에 버그가 줄게 된다. 런타임 에러도 줄어든다
- 결론적으로, 타입 안정성은 TS가 제공하는 최고의 장점
2. JavaScript와 비교
- 매우 유연한 언어 → 이상한 코드를 작성해도 개발자를 이해하고 도와주려 한다
- 개발자를 이해하려 하고 에러를 보여주지 않으려고 한다
- 예시 (배열 + Boolean)
[1, 2, 3, 4] + false;
>>> '1, 2, 3, 4false'
- 배열이 사라진다
- string으로 바뀐다
→ 유효하지 않은 코드지만 JS에서는 허용된다
- 예시 (함수의 잘못된 입력값)
function divide(a, b) {
return a / b;
};
divide("xxxxxx");
>>> NaN
- 함수에 전달되는 인자는 두개여야 하고
- 숫자여야 한다
→ 올바르지 않은 형식과 개수를 입력해도 함수가 실행된다
→ JS는 a와 b가 필수 입력값인지 선택사항인지 전혀 모른다
- 예시 (런타임 에러 - 콘솔 안에서 일어나는 에러; 유저의 컴퓨터에서 코드가 실행될 때만 일어나는 에러일 수도 있음)
const a = { name: "apple" };
a.hello();
>>> 에러 발생
→ 이것은 코드를 실행하기 전에 최소화시킬 수 있는 에러 중 하나
→ a라는 객체 안에서 존재하지 않는 hello라는 함수를 불러옴
→ 이상적으로는 코드가 실행되기 전에 언어가 자체적으로 해당 객체안에 함수가 없다는 것을 알려주는 것
→ 하지만, JS는 우선 코드를 실행한다. 따라서, 컴파일 단계에서 알 수 없고 코드가 실행되어야 비로소 에러에 대해 알게 된다
3. 결론
TS를 사용하면 위와 같은 오류 및 실수를 방지할 수 있다 → 타입 안정성
'개발 > TypeScript' 카테고리의 다른 글
5. 타입스크립트(TypeScript) - Readonly & Tuple (0) | 2022.09.04 |
---|---|
4. 타입스크립트(TypeScript) - Alias(별칭) & return 타입 지정 (0) | 2022.09.03 |
3. 타입스크립트(TypeScript) - 타입(Type) (0) | 2022.09.03 |
2. 타입스크립트(TypeScript) - 타입 시스템(Type System) (0) | 2022.09.03 |
1. 타입스크립트(TypeScript) - 타입스크립트(TypeScript)란? (0) | 2022.09.02 |