TypeScript 공부 시작!!
TypeScript 들어가기.
왜 TypeScript를 배울까?
TS 장점
- Type을 정해주기 때문에 안정성이 높다.
- 에러를 사전에 방지할 수 있다.
- 개발 생산성 향상 가능
JS 특징
- Type(자료형)을 적어주지 않아서 유연성이 높다. (자유도가 높다)
- 개발자를 이해해 주려는 언어(개발자가 이상하게 짜도 에러를 뱉지 않으려고 노력함)
예1)
[1, 2, 3, 4] + false
>> '1,2,3,4false'
위의 예시에서 보듯 배열 자료구조에 boolean 형 데이타를 + 수식으로 더해도 오류를 뱉지않고 문자열로 통합해서 출력한다. (매우 이상하다 하지만 돌아갔죠?)
- 왜 이 자유도가 단점이 될까??
- 사실 위의 예시는 극단적으로 이상한 코드
- 정상적인 개발자라면 이정도의 코드는 짜지 않을 것
예2)
function divide(a, b) {
return a / b
}
divide(2, 3)
> 0.6666666666666
divide("xxxxxxx")
> NaN
예시 2번의 2번째 divide 호출을 보면 코드의 문제점이 많다.
- 인자를 a, b 두가지를 넣어야 하는데 "xxxxxxx" 한가지만 넣었다.
- a / b를 리턴하기 위해 숫자를 넣어야 하는데 문자열을 넣었다.
이러한 문제점들이 떡 하니 있는데 JavaScript는 전혀 오류를 뱉지 않고, 어떠한 경고도 개발자에게 주고 있지 않다.
만약 몇천줄~ 몇만줄의 코드를 짯을 때 정상적으로 작동하지 않는다면 몇번째 줄부터 손봐야할까?
협업중 다른사람이 짠 JS코드를 넘겨 받아서 작업할 때 뭔가 문제가 생겼다면 어디서부터 코드를 읽어나가야 할까?
생각만 해도 답답하고 짜증날 것이다.
반면 타입스크립트에서는 위와 같은 코드를 작성하고 실행하면 평소에 Java나 C++에서 봤던 것 처럼 "멍청한 코드 짜지마!" 라면서 경고해 줄 것이다.
이러한 점이 JS와 TS의 차이점이자 TS 장점이라고 할 수 있겠다.
그 외에 TypeScript의 장점!
- 제작사가 MicroSoft (신뢰도 높음)
- vscode와의 연동성(vscode도 Microsoft 가 제작했기 때문)
- 오픈소스인점 (마이크로소프트 개발자의 업데이트 뿐만아니라, 제야의 고수들의 지원을 받을 수 있음)
- JavaScript를 보완하기 위해 만든 도구이기 때문에 JS의 장점들도 이용 가능(웹에서의 런타임 환경 연동성 등)
- 개발 커뮤니티의 활성화
- 등등등... 그 외에도 엄청나게 장점이 많음!!
'Frontend > TypeScript' 카테고리의 다른 글
Object(객체)에 Type지정 및 Alias 사용법 (0) | 2023.06.18 |
---|---|
TypeScript - TypeChecker와 직접 Type을 지정하는 방법 (0) | 2023.06.18 |
댓글