Type Scriptオプション
7642 ワード
⭐noImplicitAny
:タイプが明示的に指定されていない場合、タイプスクリプトが推論で
:すべてのタイプに自動的に含まれる
:関数のすべてのコードに値が返されない場合、コンパイルエラーが発生します.
:タイプが明示的に指定されていない場合、タイプスクリプトが推論で
any
と決定された場合、コンパイルエラーが発生し、タイプを明示的に指定するように指示されます.function f1(a) {
return a * 38;
}
console.log(f1(10)) // 380
console.log(f1("Mark")+5) // NaN
// a의 타입을 명시해야한다.
⭐strictNullChecks:すべてのタイプに自動的に含まれる
null
およびundefined
を除去します.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를 사용해서 타입을 미리 선언해서 사용가능하다.
Reference
この問題について(Type Scriptオプション), 我々は、より多くの情報をここで見つけました https://velog.io/@stnqls3938/TypeScript옵션テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol