どうも、ちょげ(@chogetarou)です。
演算子を使ってObject(オブジェクト)にキー(key)が存在するかどうか確認する方法を紹介します。
方法

演算子を使ってObject(オブジェクト)のキー(key)の存在チェックする方法は、2つあります。
in演算子
1つは、「in」演算子を使う方法です。
具体的な方法としては、「in」演算子の左辺にキー(key)、右辺にObjectを指定します。
//objにkeyが存在するか
key in obj
上記の「in」演算子は、右辺のObjectに左辺のキーが存在すれば「true」、存在しなければ「false」を返します。
使用例
const nums = {
"one": 1,
"two": 2,
"three": 3,
"four": 4,
"five": 5,
}
console.log("one" in nums)
console.log("ten" in nums)
console.log("four" in nums)
出力:
true
false
true
「===」もしくは「!==」
もう1つは、「===」もしくは「!==」を使う方法です。
まず、Objectの存在チェックするキーにアクセスします。
そして、アクセスした結果が「undefined」かどうか「===」もしくは「!==」で調べます。
//objにkeyが存在するか
obj[key] === undefined //存在しない場合にtrue, 存在する場合にfalse
obj[key] !== undefined //存在する場合にtrue, 存在しない場合にfalse
Objectのキー(key)にアクセスした結果が「undefined」と等しいならば、キーは存在しません。
Objectのキー(key)にアクセスした結果が「undefined」でなければ、キーは存在します。
使用例
const nums = {
"one": 1,
"two": 2,
"three": 3,
"four": 4,
"five": 5,
}
console.log(nums["one"] === undefined)
console.log(nums["seven"] === undefined)
console.log(nums["three"] === undefined)
出力:
false
true
false
まとめ
演算子を使ってObject(オブジェクト)のキー(key)の存在チェックする方法は、次の2つです。
- 「in」演算子を使う方法
key in obj
- 「===」もしくは「!==」を使う方法
obj[key] === undefined
obj[key] !== undefined
コメント