if(typeof window.somePropOrMethod !== "undefined"){ }
somePropOrMethod
がのプロパティでwindow
あり、その値が。以外のものであるかどうかを確認しますundefined
。
[オブジェクトとそのプロトタイプチェーンを直接チェックする]
if(window.hasOwnProperty("somePropOrMethod")){ }
値に関係なく、オブジェクト自体に明示的somePropOrMethod
に存在するかどうかをチェックします(#1とは異なります)
[オブジェクトを直接チェックするだけです]window
if("somePropOrMethod" in window){ }
値に関係なく、オブジェクト自体またはそのプロトタイプチェーンでsomePropOrMethod
検出できるかどうかをチェックします(#1とは異なります)
[オブジェクトとそのプロトタイプチェーンを直接チェックします]
if(!!window.somePropOrMethod) { }
ここで行われるのは、の値を取得somePropOrMethod
してブール値に変換することです。somePropOrMethod
isundefined
またはその他の偽の値の場合、結果は常にになりますfalse
。それ以外の場合は、true
[オブジェクトとそのプロトタイプチェーンを直接チェックします]