반응형
장점
● 코드의 가독성과 유지 보수성을 높여준다.
-> 이를 통해 런타임 에러를 최소화하고, 코드 작성 시간을 단축하며, 협업 시 코드의 가독성을 높일 수 있다.
Type(타입)
Boolean(불리언) type
// Boolean type
const isShow: boolean = true;
const isDone: boolean = false;
Number(숫자) type
// Number type
const number1: number = 5;
const number2: number = 0.7;
String(문자열) type
// String type (따옴표, 쌍따옴표, 백틱도 가능하다.)
const firstName: string = "coding";
const lastName: string = "Kim";
Array(배열) type
● 하나의 타입만 작성할 수 있으며, 타입을 혼용해서 작성할 수 없다.
// Array type
// 방법 1
const items: string[] = ["apple", "banana", "grape"];
// 방법 2 (제네릭 배열 타입 사용)
const numberList: Array<number> = [1, 2, 3];
Tuple(튜플) type
● 요소의 타입과 갯수가 고정된 배열을 작성할 수 있다.
// Tuple type
const user: [string, number, boolean] = ["kimcoding", 20, true];
Object(객체) type
// Object type
// 방법 1
let obj: object = {};
// 방법 2
let user: {name: string, age: number} = {
name: "kimcoding",
age: 20
}
Any type
● 타입 검사를 하지 않을 때 사용한다. (= 타입스크립트의 보호를 받지 않는다.)
-> 타입 검사를 하지 않기 때문에 타입에 구애받지 않고 값을 재할당 할 수 있다.
-> 여러 타입이 섞인 배열을 받을 때 유용하다.
● 되도록이면 사용하지 않는 것이 좋다.
// Any type
// any 타입을 사용하게 되면, 변수에 값을 재할당하는 경우
// 타입을 명시한 변수와 달리 타입에 구애받지 않고 값을 재할당할 수 있게 됩니다.
let maybe: any = 4;
maybe = true;
// any로 다루고 있기 때문에
// index 1번째 요소가 boolean 타입이지만 number 타입으로 재할당할 수 있습니다.
let list: any[] = [1, true, "free"];
list[1] = 100;
반응형