일반적인 자바스크립트에서 변수 선언은 다음과 같이 하면 된다.
var str = 'hello'
var num = 14;
var array = [1,2,'배','열'];
하지만 타입스크립트에서는 변수마다 타입을 지정해주어야 한다.
문자열
let str: string = 'hello'
숫자
let num: number = 10;
배열
let arr: Array<number> = [1,2,3]; //number 타입만 들어갈 수 있다.
let heroes: Array<string> = ['토르','헐크'] //string 타입만 들어갈 수 있다.
👇 위 코드를 다음과 같이 작성할 수도 있다.
let arr: number[] = [1,2,3];
let heroes: string[] = ['토르','헐크']
잘못된 타입을 배열의 원소로 넣으면 빨간줄로 에러가 나타나게 된다.
튜플 : 배열의 길이가 고정되고 각 요소의 타입이 지정되어 있는 배열 형식
let address: [string, number] = ["강남", 100];
객체
let obj: object = {};
let person: { name: string; age: number } = {
name: "토르",
age: 1000,
};
단순하게 객체의 타입만 지정해 줄 수도 있고, 프로퍼티의 키값의 타입까지 지정해 줄 수 있다.
불리언
let show:boolean = true;
💯 함수 💯
- 파라미터의 타입 정의
function sum(a: number, b: number) {
return a + b;
}
- 반환 값의 타입 정의
function add(): void { }
// void: 리턴값이 없다는 것을 명시적으로 표시.
// void를 적지 않으면 return값이 없다고 에러가 난다.
👇 종합하여 쓸 수 있다.
function plus(a: number, b: number): number {
return a + b;
}
기본적으로 타입스크립트에서는 받는 파라미터의 갯수까지도 알고, 이보다 부족하거나 많을 때 에러로 표시해준다.
- 함수의 옵셔널(선택적) 파라미터
function log(a: string, b?: string) {}
log("hello");
log("hello", "world");
옵셔널 파라미터는 파라미터를 선택적으로 넣을 수 있게 해준다. 파라미터의 타입을 지정할 때 파라미터 뒤에 물음표'?
' 를 붙여서 작성해주면 된다.