[TypeScript] INTRODUCTION #1.1 - #1.5

uxolrv·2022년 12월 9일
2

nomadCoder - TypeScript

목록 보기
1/9
post-thumbnail

📌 Why not JavaScript

💡 타입안정성

TypeScript의 가장 큰 장점!

  • 코드의 버그를 줄일 수 있다.
  • 런타임 에러가 감소한다.
  • 생산성이 증가한다.

이로 인해 개발자를 에러/버그로부터 보호해 준다.


🤔 JavaScript에서는?

🔎 배열에 boolean 타입을 더하려고 하면?

[1, 2, 3, 4] + false // 1,2,3,4false

배열이 사라지고, string이 되어버린다
boolean 타입이던 false도 string이 되어 배열과 합쳐진다.

⇒ 이상한 일인데도 JavaScript는 이를 허용해버린다!


🔎 2개의 number를 인자로 받아 나누는 함수 divide에 1개의 string을 전달한다면?

function divide(a, b) {
	return a / b
}

divide("xxxxxx") // NaN

⇒ 올바른 함수 사용법이 아닌데도 JavaScript는 이를 전혀 막아주지 않는다!

자바스크립트는 a, b가 무엇인 지, 필수 입력값인지 선택 사항인 지 모른다.


🔎 객체 안에 없는 함수를 사용하려 한다면?

const nico = {
  name: "nico"
}

nico.hello() // TypeError: nico.hello is not a function

⇒ JavaScript는 코드를 실행하고 나서야 에러를 표시한다! (런타임 에러)

TypeScript 같은 경우, 컴파일 자체가 실패하기 때문에 코드를 실행할 수 없다.








profile
안녕하세연🙋 프론트엔드 개발자입니다

0개의 댓글

관련 채용 정보