- 타입 스크립트는 자바스크립트의 슈퍼셋이다. ( 확장된 언어 )
- 타입 스크립트 안에 자바스크립트를 포함하고 있으며, 자바스크립트의 모든 기능을 사용하면서 확장된 타입 스크립트만의 강력한 기능을 사용할 수 있다.
💡 Typle script 특징
- Type Annotations – 타입 표기 변수 값에 데이터 타입 지정 가능
- Object Oriented feature – 아래와 같이 객체 지향적 프로그래밍을 지향함 class(클래스), interface(인터페이스), constructor(생성자), access modifier(접근 제어자), type(타입 객체 지정)
- Compile time error – Syntax error 소스코드가 컴파일 되는 과정 중에 발생하는 Syntax error, 파일 참조 오류 등과 같은 문제들로 컴파일이 방해되어 발생하는오류
1. Java Script(동적 언어)의 문제점
function add(num1, num2) {
console.log(num1 + num2)
}
add(); // Nan
add('a'); // Nan
add('add','gg') // addgg
function items(arr) {
arr.forEach((i) => {
console.log(i)
)
}
items([1,2,3]) // 1,2,3 배열 반환
items(1,2,3) // 런타임 에러가 나옴. forEach 메소드가 없기 떄문.
- 런타임에 타입 결정 / 오류 발견
- 아무런 에러를 내지 않기 때문에 코드에 분명히 사용법이 잘못되었음에도 그대로 실행되버림
- 개발자가 실수하면 사용자에게 그대로 노출됨.
2. Java, TypeScript(정적 언어) 의 장점
- 컴파일시 타입 오류가 발생되기 때문에 초기에 개발 시간이 오래 걸리지만, 작성만 제대로 해주면 빠르고 안정적으로 개발이 기하급수적으로 증가함