2017-03-20 5 views
2

私はTypeScriptを初めて使用しています。私は次のコードを持っています:Typescriptタグ付き結合 - コンパイラは、分岐しなかったケースについて警告できますか?

type Circle = { kind: "circle" } 
type Rectangle = { kind: "rectangle" } 
type Triangle = { kind: "triangle" } 
type Shape = Circle | Rectangle | Triangle 

function numberOfSides(shape: Shape) { 
    switch (shape.kind) { 
     case "circle": return 0; 
    } 
} 

現在のところ、これはうまくコンパイルされます。どのような構成やオプションがありますので、コンパイラは私のswitch文でケースが見つからないことを警告できますか?

答えて

2

はい、ちょうど2つが必要です:1. strictNullChecksまたはnoImplicitReturnsをオンにします。 2. numberOfSidesの返品タイプをNumberとマークします。その時点で、コンパイラはすべてのケースを処理していないことを認識し、このエラーを返します。

Function lacks ending return statement and return type does not include 'undefined'.

+1

ありがとうございます。あなたは正しい方向に私を指差した。私はtsconfig compilerOptionsについて知りました。あなたのやり方はうまくいきますが、私はnoImplicitReturnsオプションも設定しています。それもうまくいくようです。多分あなたは別のオプションとしてその答えを更新することができますか? – jrahhali

関連する問題