TypeScript strict-boolean-expressions について

booleanが期待されるところで、boolean以外の型が指定された場合に、strict-boolean-expressions が発生します。

githubにもありますように、サンプルとして以下のようなコードがあります。

let num: number | undefined = 0;
if (num) {
  console.log('num is defined');
}

if の条件で num を評価している部分で発生します。

num !== undefined などにすると解消します。

上のコードでは、numが0の時も 'num is defined’ がコンソールに表示されます。

このような曖昧な評価をできるだけさけるために、strict-boolean-expressions は有効です。