38-1. any
범위 좁히기 (함수 매개변수)
38-2. any
범위 좁히기 (객체)
38-3. @ts-ignore
사용하기
@ts-ignore
을 주석으로 적은 다음 줄의 오류를 제거한다38-4. 반환 타입은 추론 가능한 경우에도 명시하기 (any
반환 금지!)
39-1. 배열임을 알 때
any[]
사용하기39-2. 객체임을 알 때
{[key: string]:any}
object
unknown
사용하기
{[key: string]:any}
와 object
모두 key
에 접근 가능하지만, object
타입은 객체[key]
에 접근 불가능하다.
39-3. 함수임을 알 때
() => any
(arg: any) => any
(...args: any[]) => any
/ Function
사용하기41-1. any
타입의 진화는 암시적 any
타입에 값을 할당할 때만 발생한다
암시적 any[]
타입의 배열에 다양한 타입의 요소를 넣으면 배열의 타입이 확장된다암시적 any
타입은 조건문의 분기에 따라 타입이 확장된다암시적 any
타입은 함수 호출로는 진화하지 않는다암시적 any
의 값을 읽으려고 하면 오류 발생41-2. any
를 진화시키는 방식보다 명시적 타입 구문을 사용하는 것을 지향하기
42-1. any
, unknown
, never
any
- 어떠한 타입이든 any
에 할당 가능, any
를 모든 타입에 할당가능unknown
- 어떠한 타입이든 unknown
에 할당 가능, unknown
은 any
와 unknown
에만 할당 가능never
- 어떠한 타입도 never
에 할당 불가, never
를 모든 타입에 할당가능42-2. unknown
에서 원하는 타입으로 변환하는 방법
instanceof
체크