null じゃなくて空オブジェクトで返ってくる時がある
該当の値が存在しない場合 大体 null で返ってくるのですが、たまーに空Object で返ってくる時があります。
{} // null ちゃうんかーい
空オブジェクトの判定ってどうやってやるんや
空配列の判定はよくやるのですが、そういえば空オブジェクトの判定ってしたことないと思い調べたところ諸説あったのですが、以下のやり方が一番多かったです。
Object.keys(emptyObj).length === 0 // オブジェクトのキーが 0 かで判定
以下みたいに直接比較してあげてもいいのですが、、、
const obj = {}
if (Object.keys(obj).length === 0) {
console.log('空っぽだよーん')
}
先輩から「ぱっと見で何を比較しているのはわかり辛い」とご指摘いただいたので、、
const obj = {}
const isEmpty = (obj) => {
return Object.keys(obj).length === 0
}
if (isEmpty(obj)) {
console.log('空っぽだよーん')
}
こんな感じで「空オブジェクトかどうか判定する関数」を作ってあげてもいいのかなと思いました。
おしまい。
参考