[Typescript] Why TS ?

dolfin·2023년 6월 28일

TypeScript

목록 보기
3/7

이미 자바스크립트는 전세계 1위 언어인데 타스 꼭 배워야하나 ㅇㅅㅇ;;

넵.. 꼭 배워야 합니다.

자바스크립트는 유연한 문법과 자유롭다는 특징이 있지만, 그렇기 때문에 버그 발생 가능성이 아주 높아 프로그램의 전체적인 안정성이 떨어진다.

function add (a,b) {
 return a+b 
}

add(1,2) //3
add(1,"2") // 12
add("1","2") // 12

자바스크립트 개발자라면 놀랍지 않겠지만 자바스크립트는 이 모든 코드가 문제 없이 동작한다.
number + string 도 에러 없이 연산이 가능하기 때문에 원하는 결과값이 나오지 않을 수 있다.

때문에 자바스크립트를 더 안전하게 사용하고 싶다면 타입스크립트를 사용하는 것이 좋다.
또, 2023년 기준 프론트엔드 개발 채용에서 타스는 거의 필필필수적이다.

좀 더 자세히 살펴보자면,

자바스크립트는 동적 타입 시스템을 가진 언어이다.

동적 타입 시스템이란

코드를 실행하고 나서 그때 그때 유동적으로 변수의 타입을 결정하는 언어이다.

또, 변수의 타입이 하나로 고정되지 않고 수정이 가능하다. 아 - 주 유연.

자바스크립트를 첫 언어로 배운 나로써는 처음에는 이게 왜..문제..? 싶었지만

let a = "hello"
a = 12224354

a.toUppercase(); // toUppercase()는 string method

요런 코드들이 자바스크립트는 문제 없이 실행이 가능하다는게 문제다.
물론 실행을 시키면 에러가 나지만, 동적타입시스템이기 때문에 실행은 된다.

타입스크립트는 매우 독특한 타입 시스템이다.
이게 무슨말이야 하면 자바의 정적 시스템 타입과, 자바스크립트의 동적 시스템 타입을 혼합 시킨 언어이다.

index.ts

let a : number = 1 
let b = 2

변수 a는 number라는 타입을 정적으로 지정해주었고, b는 지정을 해두지 않았다.
지정을 해두지 않았으니까 b는 any타입인가 싶지만..?
타입스크립트는 매우 똑똑해서 타입을 추론할 수가 있다. 때문에 모든 변수에 타입을 일일이 지정할 필요가 없다.

이런 타입을 점진적 타입 시스템 이라고 부른다.

출처 : 인프런 한입 크기로 잘라먹는 타입스크립트

profile
no risk no fun

0개의 댓글