kidoOooOoooOOom

IT系で開発やってます

nullとundefiendについてあらためて

特殊な値nullはほんのいくつかのケースで使われるべき

  • 変数を初期化するとき
  • 初期化された変数と比較するとき
  • 関数に渡す値としてオブジェクトが期待されているとき
  • 関数の返り値としてオブジェクトが期待されているとき

nullを使うべきないケース

  • 引数が渡されたかどうかをテストするときにはnullを使わない
  • 初期化されていない変数と値nullの比較テストをしない

undefinedはnullとよく混同される(null = undefiendであるため)。
しかし、この2つの値は全く用途が異なる。
初期化されていない(いつかは値が入るべき)変数はnullをもつべきで、
宣言されていないものがundefinedとして扱うべき

var hoge;
// var huga
console.log(typeof hoge); // undefined.
console.log(typeof huga); // undefined.


// Bad pattern
var person;
console.log(person === undefined); // true


// Good pattern
var person = null; // null で初期化
console.log(person === null) // true

メンテナブルJavaScript ―読みやすく保守しやすいJavaScriptコードのための作法

メンテナブルJavaScript ―読みやすく保守しやすいJavaScriptコードのための作法