종류 | 타입 |
---|---|
문자열 | String |
숫자형 | Number |
불린형 | Boolean |
undefined | undefined |
null | null |
배열 타입을 만들기 위해선 타입을 적고 []
를 붙인다. 튜플이란 개수랑 순서가 정해져있는 배열을 뜻한다. []
안에 순서대로 타입을 쉼표로 구분해서 쓰면 된다.
// 배열
const cart: string[] = [];
cart.push('c001');
cart.push('c002');
// 배열의 배열
const carts: string[][] = [
['c001', 'c002'],
['c003'],
];
// 튜플
let mySize: [number, number, string] = [175, 30, 'L'];
{}
안에 프로퍼티 이름을 쓰고 :
다음에 타입을 쓰면 된다. 각 프로퍼티는 ;
으로 구분하면 된다. 필수가 아닌 프로퍼티는 프로퍼티 이름 뒤에 물음표를 붙이면 된다.
let product: {
id: string;
name: string;
price: number;
membersOnly?: boolean; // 필수가 아닌 프로퍼티
sizes: string[];
} = {
id: 'c001',
name: '블랙 후드티',
price: 129000,
sizes: ['M', 'L', 'XL'],
};
if (product.membersOnly) {
console.log('회원 전용 상품');
} else {
console.log('일반 상품');
}
만약 프로퍼티 갯수를 정하지 않고 값의 타입을 정하고 싶다면 이러한 문법의 사용도 가능하다
let stock: { [id: string]: number } = {
c001: 3,
c002: 0,
c003: 2,
};
자바스크립트를 사용할 때와 비슷하게 자유롭게 쓸 수 있는 타입을 말한다. 되도록이면 any
타입을 권장하지 않지만, 어쩔 수 없는 상황에 사용하는 경우 as
키워드를 사용해서 타입을 지정하거나, :
으로 지정할 수 있다.
// as 키워드
const parsedProduct = JSON.parse(
'{ "name": "토트백", "price": 12000 }'
) as { name: string; price: number };
// : 키워드
const parsedProduct: { name: string; price: number } = JSON.parse(
'{ "name": "토트백", "price": 12000 }'
);