Annotate는 "주석을 달다" 라는 사전적인 뜻을 가지고 있다.
타입스크립트에서는 변수, 함수, 함수 반환값의 데이터 타입을 지정하기 위해 "타입 어노테이션"을 사용한다. 즉, 타입에 주석을 단다.
한 번 식별자를 특정 타입으로 annotated 하면 해당 타입만 사용할 수 있다.
다른 타입을 사용하게 되면 타입스크립트 컴파일러가 에러를 던진다.
let a: number;
//a라는 변수에는 number 타입의 값만 할당 및 재할당할 수 있다.
a = "Mark"; //error
a = 23; //correct
let a = "Joah"
//a에 첫 할당으로 문자열을 할당하면 a에 재할당시 문자열만 재할당할 수 있다.
a = 23; //error
a = "good" //correct
function hello(a: number){
console.log(a)
}
hello(33)
//correct
function hello(a: number){
console.log(a)
}
hello("Joah")
//error
함수의 인자로 들어오는 매개변수 a는 무조건 number type이어야 한다.
따라서 함수를 호출할 때 문자열인 "Joah"를 넣었더니 에러를 반환한다.