하나의 값이 가지는 프로퍼티와 함수들을 쉽게 참조할 수 있도록 하는 것
let x: string = "hello";
x.length;
hello
는 string
타입이다. 그래서 hello
라는 값은 이 string
타입을 통해 프로퍼티와 함수들을 가지게 되며 .
하나를 통해 프로퍼티, 함수들을 참조할 수 있게 된다.
interface Todo {
id: number,
title: string,
completed: boolean
}
const todo: Todo = {
id: 1,
title: 'jogging',
completed: false
}
console.log(todo.id, toto.title, toto.completed);
인터페이스를 통해 Todo
라는 타입을 생성했고 이 타입은 값들이 Todo
의 프로퍼티와 함수들을 todo.id
처럼 쉽게 참조할 수 있도록 해준다.
- 타입스크립트 컴파일러가 프로그램 실행 전 코드에 오류가 있는지 알려준다.
- 협업중에 다른 개발자가 코드에서 어떤 데이터들이 처리되고 있는지 쉽게 파악할 수 있게 해준다.
어떤 타입의 값을 변수가 참조하도록 할지 타입스크립트에게 말해주는 것
let x: string = 'hello';
위 코드에서는
x: string
타입 어노테이션을 통해 변수x
가string
타입의 값을 참조하도록 타입스크립트에게 말해주고있다.
변수가 참조하고 있는 값이 어떤 타입의 값인지 타입스크립트가 추측하는 것
let x: 'hello';
타입 어노테이션으로 타입을 말해주지 않아도 타입스크립트는
hello
값을 통해 변수x
가string
타입임을 추측할 수 있다.
- Type Annotation: 개발자가 타입스크립트에 타입을 말해주는 것
- Type Inference: 타입스크립트가 타입을 추측하는 것
Type Annotation
1. 변수를 선언했지만 초기화하진 않을때let x: string;
- 타입스크립트가 type inference를 할 수 없을 때
- 함수가 특정 타입의 값만 리턴하도록 할 때
Type Inference
Type Annotation
이 있는 경우를 제외하고 항상 사용