if((typeof OA != 'undefined') && OA )
とはどう違いif(OA)
ますか?
前者のステートメントは機能します。後者は、現在の関数の実行を静かに停止します。
(初歩的な質問かもしれません)
ありがとう!
if((typeof OA != 'undefined') && OA )
とはどう違いif(OA)
ますか?
前者のステートメントは機能します。後者は、現在の関数の実行を静かに停止します。
(初歩的な質問かもしれません)
ありがとう!
if(OA)
OA
が定義されてい ない場合は失敗します。が定義されているかどうかをtypeof OA != 'undefined'
チェックします。OA
var OA;
if(OA){
}
これは機能します。
if(OA){
}
これは機能しません: OA is not defined
.
typeof OA != 'undefined' && OA
変数にアクセスする前に定義されているかどうかをチェックします
if ((typeof OA != 'undefined') && OA)
これは、変数OA
が定義されているかどうかを最初にチェックします。そうであれば、ブール値にキャストされて評価されます。
if(OA)
これは存在すると仮定OA
し、すぐにブール値にキャストして評価します。
2 番目の例は、変数が宣言されていない場合に JavaScript 例外をスローしOA
ます。最初の例ではそれを回避しています。
javascriptの複数の意味の詳細については、こちらの回答を参照してください。undefined
コンパイラは、if(OA) で評価しようとする typeof の場合、OA を評価しようとしません。