일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- array
- 코테
- 생각로그
- mysql
- CS
- til
- 트러블슈팅
- 생각일기
- js
- next.js
- mongoose
- 피드백
- 일기
- 리눅스
- 주간회고
- 생각정리
- Java
- typescript
- WIL
- javascript
- MongoDB
- 알고리즘
- 회고
- react
- Git
- Grafana
- nest.js
- 네트워크
- 기록
- 자바스크립트
- Today
- Total
코딩일상
TypeScript는 왜 써야할까?? 공부시작!!! 본문
요즘 node.js 백엔드 채용공고를 보니 TypeScript 를 다룰수있냐라는 부분이 너무 많이 보여
TypeScript 공부해야겠다는 생각이 들었다.
하지만 그냥 무작정 공부를 하는것보다 역시 이유가 있어야 좀 더 내가 공부를 하는데 목표와 동기가 생길것 같아
TypeScript가 왜 생겨 났으며? 뭐가 좋은지에 대해 알아 보았다.
타입스크립트란?
- MicroSoft사 에서 만든것으로 2012 10월경에 나온 프로그래밍 언어
- 첫번째 버전은 0.8버전으로 나왔다.
- 자바스크립트가 돌아가는 어떤곳에서든 돌아갈수있다.
- 타입스크립트란 superset of JavaScript로써 JS를 감싸는 언어이다.
타입스크립트를 쓰면 좋은점??
<들어가기전 용어 정리>
Dynamically typed :프로그램이 동작할때 Type이 결정이나고 확인을 할수가 있다면 Dynamically Typed이라고 한다.
Statically Typed:우리가 쓰는 코드는 기계가 바로 읽을수 없기에 기계가 읽을수있도록 기계어로 바꾸는 작업을
Compiler(컴파일)라고 하며 이때 Type이 결정이나고 확인을 할 수가 있다면 Statically Typed이라고 한다.
- JS는 dynamically typed이기에 동작을 할때 데이터 타입이 정해진다. 이에 따른 문제로 runtime 환경일때 오류가 발생
- 즉 코드가 실행이 되어야만 오류가 났는지 알수있다는것.. (상당히 불안,... )
- 이를 막을수 있는 방법중 하나가 TypeScript가 Statically typed으로써 컴파일 때 데이터타입불일치에대한 에러를 사전에 잡아준다.
- 자바스크립트가 돌아가는 어떤곳에서든 돌아갈수있다.
- 추가로 TypeScript를 JS를 가진 객체지향언어영역을 더 넓게 사용할 수가있다.
- JS에 없는 interface, types,generics,..을 이용하여
위와 같은 이유들 덕분에 TypeScript를 사용을 한다고 하는데 아직 까지 실제로 적용을 해보지는 않아서 그런지
크게 와닿지는 않는다 얼른 습득을 해서 프로젝트에 적용을 해보며 얼른 한번 제대로 느껴보고싶다.
TS를 하기위한 준비 사항
기본적으로 브라우저외에서 JS가 돌아갈수 있게 node.js를 설치 해준다.
설치가 완료가 되었다면 터미널 창에 아래의 명령어를 입력후 버전 값이 나오는지 확인(버전값이 나온다면 제대로 설치된것이 맞다)
$ node -v
위는 node.js 홈페이지링크 이며 LTS 버전을 다운할 것을 권장한다.
앞으로 TypeScript를 배우고 사용하게되면 계속 쭉 사용할것이니 글로벌 버전으로 저자는 설치를 하였다.
$ npm install -g typescript
이 후 제대로 설치가 되었는지 아래 명령어를 입력하여 버전정보가 잘 나오는지 확인 하면 된다.
$ tsc -v
https://github.com/WHS95/typescript-study
GitHub
저자의 TypeScript 추가 공부 내용은 Github으로 업데이트예정니 관심있으신분은 보시길
'기록 > TIL(Today I Learned)' 카테고리의 다른 글
[TypeScript]캡슐화?? (0) | 2022.11.02 |
---|---|
[TypeScript] 오늘의 공부 정리 (0) | 2022.11.01 |
NewsApi를 이용하여 기사데이터 가져오기(feat. node.js) (0) | 2022.10.26 |
22.09.17 TIL 서비스에 맞는 DB 설계란 과연 무엇일까?? 이게 과연 최선일까?? (0) | 2022.09.17 |
22.09.12 TIL 불편함나를 움직이고 움직임이 끝이없다... (0) | 2022.09.13 |