일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 멘토님포함
- 벌써보고싶어38기
- 시멘틱 웹#시멘틱 태그#로멘틱성공적
- wecode#위코드
- Github웹호스팅 #HTML#CSS
- wecode
- wecode#위코드#너무어려워#멘토님감사합니다
Archives
- Today
- Total
lflov
타입스크립트를 사용하는 이유 본문
타입스크립트를 사용하는 이유
1.안정성 ( 타입 안정성 )
→ 코드에 버그가 줄어들고 / 확장성 증가 / 런타입 에러 감소 / 안정성 증가
2. 자바스크립트의 단점
→ 타입 설정이 없는 자바스크립트는 아래와 같은 단점이 존재한다
const array = [ 1, 2, 3, 4 ] + false
console.log(array);
// '1,2,3,4false'
function divide(a, b) {
return a / b;
}
devide(2, 3)
// 0.6666666666666666666
devide ('xxxxxxx')
// NAN
const ht = { name: 'hyeonTae' }
ht.handsome();
//runtime error 발생! ' handsome() is not a function '
다른 언어였다면 array 에 boolean 타입의 false를 더하려 한다면 에러가 발생 해야한다( 데이터 타입이 달라서 )
그러나 JavaScript는 그렇지 않다.
→ divide함수에 String 을 넣어도 에러가 발생하지 않고 NAN을 노출시킨다.
→ 매개변수도 2개인데, 매개변수를 하나를 넣었음에도 오류가 발생하지 않는다
프로그래밍 언어는 컴퓨터와 사람이 소통하는 방식인데, JavaScript는 매개변수 a b 중에서 어떤건 필수값이고 어떤건 선택값인지 이해하려 하지 않고 개발자를 너무 배려하는 느낌이다!
아래 ht.handsome() 같은 부분에서도 런타임 에러가 발생하긴 하지만 에러가 나기전에 빨간선이 그어지면서 이거 하면 안되라고 말해줘야 하는데 JAVASCRIPT는 그렇지 않다. ( 실행되서 안되는걸 알려준다 )
→ 아무런 경고도 없다!
→ JavaScript의 이런부분을 없애기 위해 TypeScript를 사용한다.
→ 타입스크립트는 배열 + boolean 과 같은 걸 할 수 없고,
→ 함수를 작성하면 입력값이 2개라고 하면 하나만 보내는걸 허용하지 않는다
→ 객체에 없는 함수를 실행할때 실행하기 전에 알려줄거에요
'TypeScript' 카테고리의 다른 글
타입스크립트 - Optional (0) | 2022.12.17 |
---|---|
타입스크립트 - 타입선언 & 타입들 (0) | 2022.12.17 |