jsでnum=input‖1を用いてデフォルト値を表す弊害

297 ワード

最初はjsコードを書くときにnum=input|1という書き方を使いますが、inputに値があればnumにこの値を割り当て、inputがundefinedであればnumにデフォルト値を付けますが、この書き方には大きな問題があります.
  • inputが0の場合num=1
  • inputがNaNの場合num=1
  • 特にinputがNaNの場合、以前の計算でエラーが発生した可能性が高く、デフォルト値を与えると、このエラーが隠され、0が1に変換されることもあります.おすすめの書き方は、num=(input==null? 1 : input);