TypeScript옵션

⭐noImplicitAny
: 타입을 명시적으로 지정하지 않은경우, 타입스크립트가 추론중 any라고 판단하게 되면, 컴파일 에러를 발생시켜 명시적으로 지정하도록 유도한다.

function f1(a) {
	return a * 38;
}
console.log(f1(10)) // 380
console.log(f1("Mark")+5) // NaN

// a의 타입을 명시해야한다.

⭐strictNullChecks
: 모든 타입에 자동으로 포함되어있는 nullundefined를 제거해준다.

function f2(a:number){
	if(a > 0) {
    	return a * 38;
    }
}
console.log(f2(5))
console.log(f2(-5) + 5); //NaN 런타임에러 undefined + 5가된다.
// f2()함수의 리턴 타입이 number | undefined로 추론되어 런타임에러가 발생한다.

⭐noImplicitReturns
: 함수 내에서 모든 코드가 값을 리턴하지 않으면, 컴파일 에러를 발생시킨다.

function f3(a:number):number{
	if(a>0){
    	return a *38;
    }
	return a; //리턴을 생략할 경우, error
}

function f4(a:{name:string; age:number}):string{
   return `이름은 ${a.name} 연령대 ${Math.floor(a.age /10)*10}대 입니다.`;
}

console.log(f6({name: 'Mark', age:38}));
console.log(f6({'Mark'})) //error
// interface나 type를 사용해서 타입을 미리 선언해서 사용가능하다.

좋은 웹페이지 즐겨찾기