TypeScript란?

·2022년 3월 26일
0

TIL

목록 보기
8/36

아직 배우지 않았기 때문에 자세한 서술은 어렵지만
최근 코딩을 하면서 많은 고민들을 해결해주는 것이
타입스크립트라서 공통 주제라서 올리는 것도 있긴 하지만
겸사겸사 알고 있는 것 검색으로 알게된 것을 적어보려고 한다.


타입스크립트란?

자바스크립트의 단점이였던 자유분방한 type 을 명시함으로써 '타입이 지멋대로 돌아다니다가 에러메세지를 마구잡이로 내뿜던 것을 개선하기 위해 탄생한 언어라고
나는 생각하고 있다.

왜냐하면 뭔가 선언을 하는 모든 곳에 타입을 정의해줘야한다.
물론 그것이 번거롭고 적어야하는 코드의 줄 수가 늘어날 수도 있겠지만

내가 미니프로젝트를 하면서 봤던 수많은 에러의 이유는 바로 type이였고
알고리즘 문제를 풀때도 숫자가 나를 미친듯이 괴롭히는 것도 결국 모두 type의 문제였기 때문에....... 필요에 의해 탄생됐다고 생각한다.

타입스크립트는 앞에 자바가 타입으로 바뀐 것 처럼
타입을 계속 명시해주는 것이 특징이며,
그 외에 자바스크립트에서 사용할 수 있는 대부분의 문법을 사용할 수 있고
무려 MS가 만들어서 지원도 많고 많이 쓰는 무료 에디터 VSC와도 조합이 좋다.


그리고 특이하게 컴파일 언어다....? 검색하면서 알게 된 사실이지만
컴파일 언어라하면 조금 더 기계어에 가까워서 변환과정이 없기 때문에
빠르게 코드가 돌아가는 것을 이야기하는데

실제로는 브라우저가 이해할 수 있도록 js코드로 변환하다보니
컴파일 시간은 생각보다 걸린다고 하는 것 같다.
내가 생각하는 컴파일언어는 좀 빠르고 메모리 관리가 어렵다는 생각이 드는데
js의 모든 구성요소를 포인터를 없이 사용 할 수 있기 때문에
정말 이건 배워서 아쉬울게 없고 오히려 배워야만 하는 언어라는 생각이 드는 것도
지금 이 글을 쓰면서 갑자기 와닿는 것 같다.


그리고 컴파일을 할 때 에러의 문제가 조금 더 명확하게 뜬다고 했던 것 같다.
어떤게 문제고 어떻게 고치면 좋을지 조언도 해주는 언어가 있다고 어디서 얼핏 들은 것 같은데
ts가 그 언어인지는...잘 모르겠다.


코드 예시

Javascript

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

Typescript

function plus (a:number,b:number){
	return a+b
}

진짜 너무 행복한 언어라고 생각할 수도 있고
오히려 쓸게 많아져서 불편한 언어라고 생각할 수도 있겠지만
주니어 개발자는 당연하고, 시니어 개발자분들도 js을 쓰다보면 type에 대한 것이 명시된게 없고 오류메세지가 명확하게 나오지 않아서 콘솔로 다 찍어서 이게 들어간 타입이 뭔지 확인해야하는 과정을 거치면서 디버깅을 천천히 해나가는데....

TS는 그게 필요 없다고 한다. 오류값도 타입이 찍혀서 나온다는데....? 진짜?

아무튼 빨리 해야하는 것들 정리하고 다뤄보고 싶다.
는 할게 너무 많고 알고리즘도 날 괴롭혀서 문제다 문제...에휴

profile
물류 서비스 Backend Software Developer

0개의 댓글