Skip to main content

noImplicitAny

function add(a, b) {
return a + b
}

noImplicitAny가 해제돼있다면, 해당 코드의 타입은 다음과 같습니다.

function add(a: any, b: any): any {}

any타입을 매개변수에 사용하면 타입 체커는 유명무실해짐

따라서 noImplicitAny = true로해야함

그러면 위 코드는 다음과 같은 에러를 반환

// ‘a’ 매개변수에는 암시적으로 any 형식이 포함됩니다.
  • 암시적으로 any로 설정됨
  • 이는 해당 환경에서 오류로 간주

에러를 해결하려면 다음과 같이 하면됨

function add(a: number, b: number) {
return a + b
}

// 혹은function add(a: any, b: any) {
return a + b
}

새 프로젝트를 시작한다면 처음부터 noImplicitAny = true로 작업해야함


strictNullChecks

strictNullChecks는 null과 undefined가 모든 타입에서 허용되는지 확인하는 설정

strictNullChecks가 해제됐을 때는 해당코드는 유효한 코드입니다.

const x: number = null

strictNullChecks가 true일 때는 오류입니다.

// ‘null’ 형식은 ‘number’ 타입에 할당할 수 없습니다.

null을 허용하려면 다음과 같이해야합니다

const x: number | null = null;

이 속성을 true로 안할 경우, 다음과 같은 에러를 자주 마주칠 수 있습니다.

// undefined는 객체가 아닙니다