サイトアイコン ktykwsk.com

配列のキーやオブジェクトのプロパティ、メソッドの存在確認

例えば、

var array = [];
array['a'] = 1;
array['b'] = 2;
array['c'] = 3;

という配列があった場合に、’a’ というキーが存在するかどうか判定する方法です。

配列のキー

in 演算子を使用して判定します。

if ('a' in array) {
    console.log('key "a" exists.');
} else {
    console.log('key "a" does not exist.');
}

オブジェクトのプロパティ

こちらも in 演算子を使用して判定します。

var obj = {
  "name": "katsuya", 
  "job": "programmer"
};

if ('name' in obj) {
    console.log('property "name" exists.');
} else {
    console.log('property "name" does not exist.');
}

オブジェクトのメソッド

またまた in 演算子を使用して判定します。

var obj = {
  "name": "katsuya", 
  "job": "programmer",
  "getName": function() {
    return this.name;
  }
};

if ('getName' in obj) {
    console.log('method "getName" exists.');
} else {
    console.log('method "getName" does not exist.');
}

まとめ

とにかく in 演算子を使えばOKです。


モバイルバージョンを終了