객체 타입
TypeScript 에서 객체를 만들고
const person = {
name: 'john',
age: 30
}
person에 커서를 올리면 아래처럼 TypeScript가 타입을 추론한 결과가 나온다
각 항목이 콤마가 아닌 세미콜론으로 구분됨에 주의한다
const person: {
name: string;
age: number;
}
또한 객체에도 : object 또는 : {}를 붙여 타입을 확실하게 명시해줄 수도 있다
또는 아예 키 : 타입 쌍을 추가하여 정확하게 지정할 수도 있다
// app.ts
const person: {
name: string;
age: number;
} = {
name: 'john',
age: 30
}
console.log(person.name);
JavaScript에서는 아래처럼 컴파일 된다
// app.js
var person = {
name: 'john',
age: 30
};
console.log(person.name);
중첩된 객체도 타입을 지정할 수 있다
// JavaScript 객체
const product = {
id: 'abc1',
price: 12.99,
tags: ['great-offer', 'hot-and-new'],
details: {
title: 'Red Carpet',
description: 'A great carpet - almost brand-new!'
}
}
// TypeScript 타입
{
id: string;
price: number;
tags: string[];
details: {
title: string;
description: string;
}
}
배열 타입
문자열을 원소로 갖는 배열의 타입 표기 -> string[]
혼합된 배열 (예를 들면 문자열과 숫자를 원소를 갖는)의 타입 표기 -> any[]
const person = {
name: 'john',
age: 30,
hobbies: ['sports', 'cooking'] // (property) hobbies: string[]
}
let favoriteActivities: any[];
favoriteActivities = ['sports', 1];
console.log(person.name);