본문 바로가기

Typescript

[typescript 기본] 함수에 interface 활용하기

todoItems 안에 넣을 데이터 모양
let todoItems = [
  {
    id: 0,
    title: "",
    done: false,
  }
]​

 

타입스크립트에서 선언할때

1. 변수(배열이고 안에는 객체) 선언하기

- 배열안의 요소는 객체다라고 선언할때
let todoItems: Array<object>; 
let todoItems: object[];​

그런데 이렇게 하면 안에 값들에서 type을 지정해주지 않았다고 오류가 남.

 

2. 변수(배열이고 안에는 객체) 안 선언하기

- 배열 안의 요소는 객체인데 객체 안의 값들은 ~~다 라고 선언할때
let todoItems: { id: number; title: string; done: boolean }[];​

이렇게 해야 안에 값들을 쓸때 에러가 나지 않음. 근데 너무 길기 때문에 매번 쓰기에는 조금 번거로움 (>> interface사용) 
* 이렇게 하는 순간 todoItems에 push를 하거나 넣을때 저 id, title, done중에 하나라도 없으면 에러! 모두 넘겨야함!!!

 

3. 변수(배열이고 안에는 객체) 안 interface 사용하여 선언하기

- interface사용하여 배열안의 요소는 객체다라고 선언할때
interface Todo {
  id: number;
  title: string;
  done: boolean;
}
let todoItems: Todo[];

Todo라는 interface를 선언해놓고 필요한 곳에 갖다쓰면 소스가 한결 가벼워짐

 

 

반응형