타입스크립트: 자바스크립트에 타입을 부여한 언어입니다.
1. 타입 명시 에러를 사전에 방지
function sumTs(a: number, b: number) {
return a + b;
}
sumTs('10', '20'); // Error: '10'은 number에 할당될 수 없습니다.
2. 코드의 자동 완성과 가이드
function sumTs(a: number, b: number): number {
return a + b;
}
var total = sumTs(10, 20);
total.toLocaleString();
변수 total
에 대한 타입이 지정되어 있기 때문에 해당 타입에 대한 API를 미리 보기로 띄워줄 수 있습니다.
** plus! **
타입스크립트는 자바스크립트와 달리 브라우저에서 실행하려면 파일을 한번 변환해 주어야 하며, 이 과정을 우리는 컴파일(complile) 이라고 부릅니다.
타입스크립트로 변수나 함수를 정의하기 위해서는 타입을 명시해주어야 합니다.
:
을 이용해 타입을 선언하는 것을 타입표기라고 합니다.
문자열인 경우 아래와 같이 선언합니다.
let str: string = "hello word!!"
숫자인 경우 아래와 같이 선언합니다.
let num: number = 10
Boolean의 경우 아래와 같이 선언합니다.
let boolean: boolean = true
배열인 경우 아래와 같이 선언합니다.
let arr: number[] = [1,2,3]
객체인 경우 아래와 같이 선언합니다.
let obj: { name: string; age: number } = {
name: "kim",
age: 27,
}
함수인 경우 아래와 같이 선언합니다.
function add(a: number, b: number): string {
return "안녕하세요!!"
}
let result = add(1, 2) // result의 타입은 string이 되는것
public / private / protected / readonly 는 생성자 constructor을 활용한 class 입니다.
변수, 메소드에 public이 붙은면 어떤 클래스에서라도 접근이 가능합니다. public을 사용해 줌으로써, 클래스 내부 뿐만이 아니라 클래수 밖에서도 사용 가능해집니다.
private가 붙은 변수, 메소드는 해당 클래스에서만 접근이 가능해집니다. public과는 다르게 클래스 내부에서만 사용 가능하고 클래스 밖에서는 사용하지 못합니다.
readonly는 읽기전용으로 클래스 내부에서도 해당 값을 변경할 수 는 없습니다.