JavaScript typeof
JavaScriptを使い始めると、「typeof」、「null」、「undefined」という言葉をしばしば見かけます。これらはJavaScriptの基本的な要素であり、それぞれ独自の役割と意味を持っています。
この記事では、これらの基本要素の違いと使い方について詳しく解説します。
typeof
JavaScriptにおける「typeof」は、特定の値のデータ型をチェックするための演算子です。
例えば、文字列や数値、オブジェクトなど、JavaScriptで扱う様々なデータ型を調べることができます。
console.log(typeof 'Hello, world!'); // "string"
console.log(typeof 42); // "number"
console.log(typeof true); // "boolean"
console.log(typeof {name: 'John', age: 30}); // "object"
サンプルコード
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML =
typeof "Haku" + "<br>" +
typeof 3.14 + "<br>" +
typeof false + "<br>" +
typeof [1,2,3,4] + "<br>" +
typeof {name:'Haku', age:27};
</script>
出力結果
null
JavaScriptにおける「null」は、変数が特定の値を持っていないことを明示的に示す特殊な値です。何も値がない、つまり「空」を示すために使用されます。
let emptyVar = null;
console.log(emptyVar); // null
undefined
JavaScriptにおける「undefined」も、「null」と同様に変数が値を持っていないことを示します。ただし、「undefined」は変数がまだ値を割り当てられていないという状態を示すために使われます。
let notAssigned;
console.log(notAssigned); // undefined
null と undefined の違い
JavaScriptでは「null」と「undefined」は、共に「何もない」を示す特殊な値ですが、その意味合いと用途が異なります。
「undefined」は、変数が宣言されたものの、まだ値が何も割り当てられていない状態を示すために使われます。これはJavaScriptのシステムによって自動的に割り当てられる値で、開発者が意図的に設定することは少ないです。
let myVar;
console.log(myVar); // "undefined"
一方、「null」は変数が値を持たないことを明示的に示すために使われます。これは開発者が明示的に設定する値で、何も存在しない状態を表現します。
let myVar = null;
console.log(myVar); // "null"
JavaScriptでは、これら二つの値を比較するときに注意が必要です。等価性(==)で比較すると、’null’と’undefined’は等しいと判定されます。
console.log(null == undefined); // true
しかし、厳密等価性(===)で比較すると、それらは等しくないと判定されます。
console.log(null === undefined); // false
これは、’==’ 演算子は型変換を行うのに対して、‘===’ 演算子は型変換を行わないためです。そのため、厳密な比較が必要な場合は、’===’ を使用することをおすすめします。
以上、「typeof」、「null」、「undefined」の基本的な理解と使い方について解説しました。JavaScriptの基本要素について学んで、あなたのコーディングスキルをさらに向上させましょう!
コメント