instanceof
とtypeof
演算子の使用を認識しています。条件付きブロックでこれらを使用すると、TypeScriptはその条件ブロック内で異なる変数の型を理解します。ここでは、TypeScriptが特定の関数がstring
に存在せず、おそらくユーザーのタイプミスであったことを指摘する簡単な例を示します:instanceof
の例です:else
を理解しています。そうすればif
の中は、特定の型であり、else
の中はその型でないことが分かります。次に例を示します。in
演算子は、オブジェクト上のプロパティの存在を安全にチェックし、Type Guardとして使用することができます。例えば。===
/ ==
/ !==
/ !=
が利用できます。strictNullChecks
を使用したnullとundefinedのチェック== null
/ != null
チェックをすることでnull
とundefined
の両方を排除できます。instanceof
またはtypeof
にアクセスすることさえできません。これらの場合、Type Guard関数をユーザーが定義することができます。これは、someArgumentName is SomeType
を返す関数です。次に例を示します。