2017年1月6日 星期五

如何判斷變數不是null

原則上就兩種寫法,有人問這兩種哪個是最佳實務

if (!myvar){}

或是

if (myvar !== null){}


第一種寫法可行的原因是因為null是falsy value雖然不是false,但在判斷時會被認為是false
以下幾個都是falsy value:

  • null
  • undefined
  • 0
  • "" (the empty string)
  • false
  • NaN

看似都可以判斷是不是null,但其實有點不同,
第一種是判斷是true或false,所以上述falsy value的情況都會被視為是false
而第二種只確認變數是不是null,所以根據題目的問法,單純只判斷是不是null,第二種比較正確


沒有留言:

張貼留言