티스토리 뷰

안정성

이 단어 하나로 왜 Javascript → Typescript로 일방통행이 일어나는지 알게 된다.

Type 안정성으로 인해…

  • 엄청난 개발자 경험을 누릴 수 있다.
  • 코드에 매우매우매우 적은 버그가 생긴다.
  • 런타임 에러를 최소화 시킬 수 있다.
  • 더 생산성 있게 개발 할 수 있다.

Javascript의 철학은 “개떡같이 짜도 어떻게든 실행해보자" 이다. 즉, 어떻게든 개발자가 작성한 코드를 신뢰하고 정말 멍청한 코드도 실행을 시키려고 한다.

예를 들자면 다음과 같은 코드가 있을 것이다.

[1, 2, 3, 4] + false  // 결과 : '1,2,3,4false'

일단 실행이 된다는 것이 신기하고, 결과로 string이 나오는 것도 정말 신기하다.

이렇게 Type 안정성이 확보가 되지 않으면 생기는 문제들이 생긴다. 예시를 하나 더 보자.

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

divide(1 / 2)  // 결과 : 0.5
divide("xxxxxxx")  // 결과 : NaN

위 코드에서는 런타임 에러가 발생하지 않는다. 실행이되고, 결과값이 나온다..!

정말 말도 안되는 결과값이지만 Javascript는 실행을 시켜준다.

이런것도 정말 문제이지만, 에러중에 정말 최악의 에러, 런타임 에러가 나는 경우를 보자.

const isaac = { name : "isaac" }
isaac.hello()  // 결과: TypeError 

이 에러는 콘솔에서 나타난다. 더 좋은 프로그래밍 언어는 미리 isaac안에 hello가 없다고 말해주어야한다.

이런 에러를 모르고 코드를 실행하게 되면 다른 사람들이 개발자에게 에러를 알려줘야하는 상황이 발생한다.

Typescript는 위에 나온 모든 경우를 커버해준다.

말도안되는 연산들과 잘못된 함수 call, 미리 코드의 타입을 체크해주는 등 안정성을 위해 많은 부분이 보완되었다.

이런 경험들 때문에 Javascript사용자들이 Typescript로 넘어가게 되는것…

 

더보기

해당 글은 2022년 6월 21일 작성된 글을 Tistory로 옮겨온 포스트입니다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
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
글 보관함