본문 바로가기

카테고리 없음

Type Annotation을 써야 할 때 (3) type inference 만으로 안될 때

반응형

만약 개발을 진행할 때 평소에 boolean 값이 었다가 특정 상활 일 때 다른 타입의 값을 가진다고 가정했을 때이다. 

 

물론 애초에 그렇게 짜는 건 좋은 코드가 아닐테지만 특수한 상황이라 가정하고 그럴 일이 생긴다고 가정했을 때 

 

 

let numbers = [-12,-4,10];
let numberAboveZero = false; 

for(let i=0; i<numbers.length; i++){
  if(numbers[i] > 0){
    numberAboveZero = numbers[i]
  }
}

 

이런 상황에서  inference로 인해 boolean 이었던 변수가 number 타입의 값을 가지게 되면 에러가 뜬다. 

 

 

 

 

이럴 때 값이 될 수 있는 타입들을 type annotation을 이용하면 해결 할 수 있다. 

 

 

반응형