TypeScript 개요
- TypeScript 는 Microsoft 에서 개발한 자바스크립트의 확장 버전
⇒ 정적 타입 검사와 클래스 기반 객체 지향 프로그래밍을 추가한 언어
- TypeScript 는 큰 규모의 애플리케이션 개발에 적합하며, 오류를 줄이고 가독성, 요지보수성 향상
- TypeScript 는 결과적으로 JavaScript 언어로 바꿔서 실행하기 때문에 tsc 가 Typescript 를 기계언어 ( 저수준 언어 ) 가 아닌 JavaScript ( 고수준 언어 ) 로 변환하기 때문에 컴파일 언어라 하지 않고 트랜스파일 언어 라고 한다
TypeScript JavaScript 차이점
- JavaScript 는 동적 타입 언어, 변수의 타입이 실행 시점에 결정, 변경 가능
- TypeScript 는 정적 타입 언어, 변수의 타입이 선언 시점에 결정
- TypeScript 는 클래스, 인터페이스, 제네릭 등 사용 가능
TypeScript 사용하는 이유
- 더 나은 에러 검출 ⇒ 컴파일 시점에 에러 확인 가
function greeting(person) {
return '안녕하세요, ' + person.firstName;
}
interface Person {
firstName: string;
lastName: string;
age: int;
}
function greeting(person: Person) {
return '안녕하세요, ' + person.firstName;
}
Person 인터페이스는 반드시 인터페이스에서 정의한 속성들을 가지므로 런타임 에러 방지 가능
- IDE 지원 향상
- 향상된 문서화 및 코드 가독성
TypeScript 를 배우기 전에 알아두면 좋은 지식
- Parameter 와 Argument
Parameter
-
함수나 메서드의 정의부에 명시되는 변수
-
함수나 메서드가 호출될 때 값을 받아들이기 위한 ‘변수’ 역할
Argument
-
함수나 메서드를 호출할 때 전달되는 실제 값
-
Ex ) const result = result(5, 2); ⇒ 파란색이 argument
- JSON ( Javascript Object Notation )
장점
-
데이터 전송시 용량이 XML 보다 적음
단점
-
key : value 형식이 강제됨
-
주석 불가능
- ESLint
- 같은 프로젝트 내에서 협업을 위한 서로간의 소스 작성 의전을 정해줌
⇒ 에어비엔비, 구글 룰이 자주 사용됨
- Ex) if 와 ( ) 사이에 공백을 추가할 것인지, string 선언할 때 double quote 사용할 지 등