undefined にデフォルト値を設定
存在しないメンバを取得しようとすると undefined が返される。||を使ってデフォルト値を設定することができる。
flight.departure; // undefined flight.departure || "None";
サンプル
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script type="text/javascript"> <!-- var flight = { airline: "Oceanic", number: 815 }; document.open(); document.write(flight.airline + '<br>'); document.write(flight.departure + '<br>'); document.write(flight.departure || "None" + '<br>'); document.close(); // --> </script> </head> <body> </body> </html>
出力結果
Oceanic undefined None
TypeError の回避
undefined に対してプロパティを取得すると TypeError 例外となる。これは && 演算子にて回避できる。
flight.departure.time; // TypeError
flight.departure && flight.departure.time;
サンプル
<script type="text/javascript"> <!-- var flight = { airline: "Oceanic", number: 815 }; document.open(); document.write(flight.airline + '<br>'); // document.write(flight.departure.time + '<br>'); TypeErroe!! document.write(flight.departure && flight.departure.time + '<br>'); document.close(); // --> </script>
出力結果
Oceanic undefined