JavaScriptのnullとundefinedの違いとは?意味と正しい使い分けを解説
JavaScriptには、「値が存在しないこと」を表す特別な値が2つあります。それが null と undefined です。この2つは似ているようでまったく性質の異なるものなので、それぞれの違いを理解し、適切に使い分けることが重要です。
undefined(未定義)とは
値が一度も代入されていない変数は undefined 型になります。また、評価しようとした変数に値が割り当てられていない場合や、関数が明示的に値を返さなかった場合にも、undefined が返されます。
サンプルコード
let a;
console.log(a);
function b() {}
console.log(b());
出力結果
undefined undefined
宣言だけを行って値を代入していない変数 a も、値を返さない関数 b() も、どちらも undefined を返します。
null(ヌル)とは
null は代入可能な値です。「意図的に値が存在しないこと」を表現するために、開発者が明示的に変数へ代入して使用します。undefined がシステム側によって自動的に設定されるのに対し、null はプログラマーの意思で設定する点が大きな違いです。
サンプルコード
let a = null;
function b() {
return null;
}
console.log(a);
console.log(b());
出力結果
null null
型の違いに注意
注意点: typeof undefined の結果は文字列 "undefined" である一方、typeof null の結果は "object" となります。これはJavaScriptの初期実装由来の歴史的な仕様(バグ)ですが、互換性維持のため現在も変更されていません。
そのため、値が null かどうかを判定したい場合は、typeof ではなく === null による比較を使うのが確実です。
-
JavaScriptでnull・空のオブジェクトを含む配列に値を割り当てる方法
JavaScriptでは、forEach()メソッドとObject.keys()メソッドを組み合わせることで、nullや空のオブジェクトを含む配列に対して効率的に値を割り当てることができます。本記事では、実際のコード例を交えながら、その具体的な実装方法をわかりやすく解説します。 サンプルコード 以下は、JavaScriptを使用してnull/空のオブジェクトを持つ配列に値を割り当てるコード例です。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&qu
-
JavaScriptでテーブルにNULL値が挿入されるのを防ぐ方法
テーブルにNULL値が挿入されるのを防ぐには、値を入力する際に条件チェックを行う必要があります。NULLをチェックする条件は以下のように記述します。while( !( yourVariableName1==null || yourVariableName2==null || yourVariableName3==null……N){ // yourStatement1 . . N }このロジックを使用することで、NULL値が挿入されることを確実に防ぐことができます。次に、forループを使ってNULL値なしでテーブルに値を挿入します。以下がそのコードです。サンプルコ