TypeScript
JavaScript 와 TypeScript
dlwltn98
2023. 1. 25. 15:35
안정성(타입의 안정성) 때문에 많은 사람들이 JavaScript를 두고 TypeScript로 넘어간다고 함
- 타입의 안정성 ⇒ TypeScript의 가장 큰 장점
- 버그 ↓
- 런타임 에러 ↓
- 생산성 향상 등 다양한 이점이 있음
JavaScript
- 매우 유연한 언어
- 타입을 가지고 이상한 코드가 실행 가능
[1,2,3,4] + false
*******************result*******************
'1, 2, 3, 4false'
→ 배열이 사라지고 boolean type과 함께 String 으로 변해버림
function divide(a, b) {
return a / b
}
*******************result*******************
divide (2, 3)
0.6666666
// 자바 스크립트는 함수를 올바르게 사용하도록 강제하지 않음
divide ("xxxxx")
NaN // 코드의 실행을 막아주지도 않음
- 런타임 에러
- 콘솔 안에서 일어나는 에러
- 코드가 실행 될 때만 일어나는 에러일 수도 있음
const jisu = { name:"jisu" } // 객체 생성 jisu.hello() // result // 유저의 컴퓨터에서 코드가 실행되면 나타나는 에러 Uncaught TypeError : jisu.hello is ... not a function ...
TypeScript
- strongly typed 프로그래밍 언어
- 작성한 코드가 자바스크립트로 변환 됨
- 이유 : 브라우저가 타입스크립트가 아니라 자바 스크립트를 이해하기 때문
- node.js는 TypeScript, JavaScript 둘 다 이해 가능
- 컴파일 → 작성한 TypeScript 코드를 일반적인 JavaScript 코드로 바꿔줌
- TypeScript 코드에 에러가 있으면 그 코드는 JavaScript 로 컴파일 되지 않음
- TypeScript 가 먼저 우리의 코드를 확인한 다음 변환된 JavaScript 안에서 실수가 일어나지 않게 확인해줌
** JavaScript와 비교 **
- JavaScript 에선 실행 후 런타임 에러가 발생했지만 TypeScript 에선 실행 전 오류 발생
- JavaScript 에선 실행 되었지만 TypeScript 에선 실행전 오류 발생
출처 :