JavaScriptオブジェクトにキーが存在するかどうかを確認する
特定のキーがオブジェクトに存在するかどうかを確認する正しい方法を説明する必要があります。正しい方法に進む前に、まず間違った方法を調べて、実際にどのように間違っているかを確認しましょう。
方法1:未定義の値をチェックする(間違った方法)
JavaScriptは揮発性であるため、次のようなオブジェクトにキーが存在するかどうかを確認する必要があります-
const obj = { name: 'Rahul' };
if(!obj['fName']){}
または
if(obj['fName'] === undefined){}
これらは両方とも間違った方法です。なぜですか?
この場合、たまたま「fName」キーがないためですが、意図的にfalseまたは未定義に設定された「fName」が存在したとします。
私たちの関数は、キーが存在しなかったことを返すはずでしたが、実際には存在していました。したがって、このような場合、この方法は失敗します。
方法2-in演算子の使用(正しい方法)
ES6で導入されたばかりのinキーワードは、イテラブルのエントリをチェックします。したがって、キーの存在を確認するには、-
のようなことを行うことができます。('fName' in obj);
方法3-hasOwnProperty()メソッドの使用(正しい方法)
Object.prototype.hasOwnProperty()メソッドを使用して、オブジェクトにキーが含まれているかどうかを判断できます。
その構文は-
ですobj.hasOwnProperty('fName');
Way2とWay3の違いは、Way 3は呼び出されたObjectインスタンスのプロパティのみをチェックするのに対し、「in」はObjectインスタンスのプロパティと継承されたプロパティ(存在する場合)をチェックすることです。
-
JavaScriptのオブジェクト初期化子
オブジェクト初期化子は、新しく作成されたオブジェクトを初期化できるようにする式です。これは、プロパティ名の0個以上のペアと、中括弧{}で囲まれたオブジェクトの関連する値のコンマ区切りのリストです。 以下は、JavaScriptのオブジェクト初期化子のコードです。 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=d
-
JavaScriptでキー押下を検出する最も簡単な方法は?
JavaScriptでキー押下を検出する最も簡単な方法は、onKeyPressイベントハンドラーを使用する- document.onkeypress キーの押下はkeyCodeプロパティと一致します。このプロパティは、onkeypressイベントをトリガーしたキーのUnicode文字コードを返します。 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" co