ご存知のとおり、JavaScript は動的に型指定される言語であるため、空の値や存在しない値を扱うときに混乱することがあります。このブログ投稿では、JavaScript における null、未定義、空の文字列、および空の配列の違いを、それぞれの概念を示すコード例とともに調べていきます。
null は意図的に非値です。 値なし.
を持つものとして明示的に定義された変数を表します。
let myVariable = null; console.log(myVariable); // Output: null console.log(typeof myVariable); // Output: "object"
注: typeof null はオブジェクトを返しますが、これは レガシーな理由による JavaScript の既知の癖です.
未定義は、宣言されているがまだ値が割り当てられていない変数を表します。
let myUndefinedVariable; console.log(myUndefinedVariable); // Output: undefined console.log(typeof myUndefinedVariable); // Output: "undefined" function myFunction(param) { console.log(param); } myFunction(); // Output: undefined
空の文字列は、長さがゼロの有効な文字列です。
let emptyString = ''; console.log(emptyString); // Output: "" console.log(typeof emptyString); // Output: "string" console.log(emptyString.length); // Output: 0
空の配列は要素のないリストです。
let emptyArray = []; console.log(emptyArray); // Output: [] console.log(typeof emptyArray); // Output: "object" console.log(Array.isArray(emptyArray)); // Output: true console.log(emptyArray.length); // Output: 0
これらの異なるタイプを比較してみましょう:
console.log(null == undefined); // Output: true console.log(null === undefined); // Output: false console.log('' == null); // Output: false console.log('' == undefined); // Output: false console.log([] == null); // Output: false console.log([] == undefined); // Output: false console.log(Boolean(null)); // Output: false console.log(Boolean(undefined)); // Output: false console.log(Boolean('')); // Output: false console.log(Boolean([])); // Output: true
function isNullOrUndefined(value) { return value == null; } console.log(isNullOrUndefined(null)); // Output: true console.log(isNullOrUndefined(undefined)); // Output: true console.log(isNullOrUndefined('')); // Output: false console.log(isNullOrUndefined([])); // Output: false
function isEmpty(value) { if (typeof value === 'string') { return value.length === 0; } if (Array.isArray(value)) { return value.length === 0; } return false; } console.log(isEmpty('')); // Output: true console.log(isEmpty([])); // Output: true console.log(isEmpty('hello')); // Output: false console.log(isEmpty([1, 2, 3])); // Output: false
null、未定義、空の文字列、および空の配列の違いを理解することは、クリーンでバグのない JavaScript コードを作成するために重要です。それぞれに使用例があり、比較や型チェックで異なる動作をします。これらの値を正しく使用し、そのニュアンスを理解することで、より堅牢で保守しやすい JavaScript アプリケーションを作成できます。
これらのどれを使用するかを決定するときは、常にアプリケーションのコンテキストを考慮し、コードベース全体でアプローチに一貫性を保つようにしてください。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3