(1) any

<aside> 📌 타입스크립트에서 지양해야 할 타입 any로 추론하는 타입이 있다면 타입을 직접 표기하자

</aside>

any를 지양해야 하는 이유

  1. any 타입은 모든 동작을 허용함

    let str: any = 'hello';
    const result = str.toFixed(); // 에러 발생하지 않음
    
  2. any 타입에서 파생되는 결과물도 any 타입이 됨

any는 쓸 일이 없지만, 타입스크립트가 타입을 추정하는 경우 만난다.

function plus(x, y) { // Parameter 'x' implicitly has an 'any' type
	return x + y;
}
const arr = []; // any[]로 추론됨

any[]로 추론된 배열의 특징

any 타입과의 연산

const a: any = '123';

const an1 = a + 1; // an1 - any
const nb1 = a - 1; // nb1 - number
const nb2 = a * 1; // nb1 - number
const st1 = a + '1'; // st1 - string

타입스크립트가 명시적으로 any를 반환하는 경우