TS_type annotation & type inference

jhson·2024년 2월 14일
0

typescript

목록 보기
6/7

type annotation

  • 개발자가 타입을 타입스크립트에게 직접 말해주는 것
const rate: number = 5

type inference

  • 타입스크립트가 알아서 타입을 추론하는 것
  • 변수 선언과 동시에 초기화할 경우 타입을 알아서 추론함
const rate = 5

타입스크립트가 타입을 추론하지 못해서 타입 annotation을 꼭 해줘야 하는 경우

    1. any 타입을 리턴하는 경우
      - coordinates에 hover 하면 const coordinates: any 라고 뜸
      - JSON.parse는 json을 파싱해 줌.
      - 인풋으로 들어가는 json을 확인하면 대충 어떤 타입이 리턴될지 개발자는 예상 가능함
      - 그러나 타입 스크립트는 리턴 타입이 일정하지 않으므로 any를 리턴한다고 추론함
      - 이럴 경우 type annotation을 사용해야함.
   const json = '{"x": 4, "y": 7'
   const coordinates = JSON.parse(json)
   console.log(coordinates)
    1. 변수 선언을 먼저하고 나중에 초기화하는 경우
      - 변수 선언과 동시에 초기화하면 타입을 추론함
      - 그러나 선언을 먼저하고 나중에 값을 초기화할 때는 추론하지 못함
	let greeting
	greeting = "hello"
	// let greeting: any 라고 추론함
    1. 변수에 대입될 값이 일정하지 못한 경우
      - 여러 타입이 지정되어야 할 때는 '|'(or statement) 로 여러 타입을 annotation 해줘야 함
let num = [-7, -2, 10]
let numAboveZero: boolean | number = false

for(let i = 0; i < num.length; i++){
	if(num[i] > 0){
    	numAboveZero = num[i]
    }
}
profile
게임회사 주니어 개발pm에서 프론트엔드 개발자로 전향하는 과정

0개의 댓글