일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ionic react
- 프로그래밍기초
- 패스트캠퍼스
- 프로그래밍첫걸음시작하기
- HTML
- 알고리즘
- styled-components
- PYTHON
- javascript
- CSS
- 항해99
- 내일배움카드
- Firebase
- 바이트디그리
- spartacodingclub
- Algorithm
- K디지털크레딧
- react-native
- mongodb
- next.js 빌드 오류
- 스파르타코딩클럽 후기
- typescript
- 부트캠프
- 프로그래머스
- styled components
- ionic
- 스파르타코딩클럽
- react
- ionic-react
- React Native
- Today
- Total
bravo my life!
[TIL] TypeScript 시작 본문
부트캠프 수료 후 공부를 좀 더 하고 싶어하는 수강자들끼리 스터디그룹을 만들었다.
부트캠프 매니저가 배워두면 좋다는 TypeScript와 Next.js를 하려고 한다.
우선 노마드 코더의 TypeScript 강의가 무료인 점이 있어서 TypeScript를 먼저 진행하고 있다.
1. TypeScript?
타입스크립트는 명칭부터 "나는 이런 언어입니다."라고 알려주고 있다.
강타입 성향의 언어로서 타입에러를 검출할 수가 있는데 TypeScript를 제외한 강타입 성향의 언어는 C, C++, GO, Java 등등이 있다.
내가 개발언어로 처음 접한 JavaScript는 약타입의 언어로 타입 안정성이 낮고 에러를 발생시켜야 할 상황에서 에러발생없이 연산이 되는 경우가 있었다. JavaScript의 이런 단점을 보완해 줄 수 있는 것이 TypeScript다.
2. 어떤 점이 다를까?
JavaScript
[1, 2, 3, 4] + false
// "1, 2, 3, 4false" 를 반환한다.
JavaScript에서는 위와 같은 코드를 처리할 수 있다. 물론 말도 안되는 코드지만 예시를 위해서 만들었다.
두 가지가 이루어졌는데 배열이 벗겨지고, 스트링으로 만들어진 값이 생겨났다.
function divide ( a, b ) {
return a / b
}
divide ("fdfa"}
// NaN을 반환한다.
그리고 위와 같은 코드를 JavaScript는 배개변수의 조건이 충족되지 않았음에도 NaN을 반환한다.
TypeScript
이런 JavaScript의 단점들은 TypeScript를 통해 보완을 할 수 있다.
[1, 2, 3, 4] + false
function divide(a, b) {
return a + b;
}
divide("fdfa");
위 코드는 TypeScript를 사용하는 편집기상에서 좌측과 같이 보인다. 어떤 오류를 범했는지 편집기상에서 표시해주고, js파일로 컴파일하며 또 한번 표시해준다.
TypeScript를 사용하게 된다면, 해야 할 것이 늘어난 듯 보이지만 개발단계에서 오류를 잡을 수 있기 때문에 런타임에러를 범하는 실수가 적어지고 전체적인 개발기간이 단축될 수 있는 여지가 보이는 듯 하다.
'Study > TypeScript' 카테고리의 다른 글
[TIL ]TypeScript 프로젝트 생성하기. feat.VSCODE (0) | 2022.06.17 |
---|---|
[TIL] TypeScript를 좀 더 편하게 사용하게 하는 기능. (0) | 2022.06.16 |
[TIL] 사용도는 떨어지지만 중요한 타입들. unknown, void, never (0) | 2022.06.15 |
[TIL] TypeScript의 불변성은 readonly와 tuple이. (0) | 2022.06.14 |
[TIL] TypeScript에서 타입을 선언해보자. (0) | 2022.06.13 |