[타입스크립트] 타입스크립트를 하는 이유

휘루·2023년 3월 8일
0

타입스크립트

목록 보기
1/10

자바스크립트를 버리고 타입스크립트로 넘어오는 이유
1. 안정성, 타입 안정성 때문에 코드에 대한 버그가 줄어듭니다.
2. 런타임 에러도 줄어듭니다. 그래서 생산성도 향상됩니다.

자바스크립트에도 true/false같은 boolean이 있는데
이는 타입스크립트에도 똑같이 있습니다.

차이점은 자바스크립트는 오류를 보여주지 않으려 노력하고 타입스크립트는 오류를 보여
[1, 2, 3, 4] + false; 를 그대로 작성해보면

사실 배열 + boolean을 하는 사람은 없습니다.
하지만 이런 예를 자바스크립트는 다 보여줍니다.
오류여도 다 나타내는 언어인거죠.

실제 예시로 들어보겠습니다.

function을 만들고 divide(2, 3)을 작성했을 때 실행되는 모습입니다.
입력값이 숫자일 때만 실행되는 모습이죠.
근데 이 함수는 올바르게 사용하도록 강제하지 않는 점입니다.

원래는 실행하면 안되는 결과여야 합니다. NaN이 나왔어도 말이죠.
콘솔에 에러가 났다고 표시하지도 않습니다.

최악의 에러는 런타임 에러인데요.
런타임 에러는 콘솔 안에서 일어나는 에러입니다.
이러한 에러는 컴퓨터가 코드 실행될 때 일어나는 에러일 수도 있습니다.

다른 예시입니다. nico를 지정하고 nico.hello();를 실행하면 에러가 납니다.
드디어(?) 에러가 난건데요. nico 객체를 만들고 hello 함수를 불렀지만 자바스크립트는
이게 에러가 날 줄 모르고 그냥 코드를 실행한 겁니다.

결론은
이 에러를 고쳐야 유저에게 실행할 수 있다고 알려주겠죠.
자바스크립트 코드를 사용하면 어떤 에러가 있는지 다른사람이 개발자한테 알려주는 겁니다.
그게 사용하는 유저거나, 회사의 매니저거나, 동료 개발자일 수도 있습니다.
자바스크립트를 사용하기 때문에 코드가 실행되어도 에러가 나는지 경고가 없습니다.

그래서 자바스크립트 개발자들이 타입스크립트로 넘어오는 겁니다.
그래서 타입스크립트를 사용하면 배열 + boolean이라는 말이 안되는 코드를 작성하지 못합니다.

function divide(a, b){
return a / b;
};

로 지정했다면 divide를 부를때 (3)라던지 값이 하나라는 걸 허용하지 않습니다.
divide(3, 5); 로 두 값을 다 넣어줘야 한단 얘기입니다.

profile
반가워요

0개의 댓글