TypeScript - Why?

100·2023년 4월 20일

TypeScript

목록 보기
1/1
post-thumbnail

TypeScript란?


왜 TypeScript를 사용할까?

우리가 사용하는 브라우저들(크롬, 엣지, 파이어폭스, 사파리 등)은 TypeScript를 이해하지 못한다.
그래서 Javscript로 변환해서 로드해야 진행할 수 있다.
이렇게만 들었을 땐 번거로울 것 같은데 무슨 장점이 있길래 TypeScript를 사용하는 걸까?

function add(num1, num2) {
    console.log(num1 + num2);
};

add(1,2); // 3
add(1,2,3); // 3
add('Petter', ' Parker'); // 'Petter Parker'

위와 같은 코드가 있다고 가정했을 때 add 함수는 숫자를 더하기 위한 목적으로 개발자가 만들었지만 인수를 잘못 넣어도 Javascript는 어떠한 힌트도 주지 않는다.
또한 문자열을 넣어도 정상적으로 작동하여 실수가 분명하더라도 알지 못하거나 직접 찾아봐야한다.

하나의 예시를 더 들어보자.

function showNumber(arr) {
    arr.forEach((i) => {
        console.log(i);
    });
};

showNumber([1,2,3]); 
// 1
// 2
// 3

showNumber(1,2,3);
// TypeError: arr.forEach is not a function

showNumber 함수는 배열을 받아 반복문을 실행하는 함수인데 배열이 아닌 다른 인수를 받게되면 forEach 메서드가 없어 TypeError가 발생한다.

이렇게 Javascript는 실행되는 시점, 즉 런타임에 타입이 결정되고 오류가 있다면 그 때 발견하게 되는 동적언어다.
반면 Java같은 정적언어는 컴파일 타임에 타입이 결정되고 오류가 발견된다.
그래서 코드 작성 시간은 오래 걸리겠지만 초기에 생각을 많이 해서 코드를 작성한다면 안정적으로 작업을 진행할 수 있는 장점이 있다.
TypeScript도 이러한 정적 타입의 언어이다.

위에 있는 예제들을 TypeScript로 작성 해보자.
콜론과 함께 원하는 type을 적어주면 해당 인수는 지정한 type의 데이터만 들어와야하며 이와 맞지 않는 경우 오류들을 잡아준다.




profile
Road to FE

0개의 댓글