変数が、定義済みかどうか、値を持っているかどうかを調べる方法。
「var」で宣言だけ行い、値を代入していない変数は、未定義型(undefined)となる。変数が値を持っているかどうかを調べるには、未定義型(undefined)であるかどうかを調べれればよい。
変数が値を持っているか調べるサンプル(1)
解説
==
で比較すると、undefined
もnull
も、未定義undefined
であると判定される。
undefined
だけを、未定義undefined
であると判定されるには、===
を使い、型も含めて比較する必要がある。
ソースコード
<script type="text/javascript">
var sampleA;
if ( sampleA === undefined ) {
document . write( "変数「sampleA」は、未定義である。<br />" );
document . write( "変数「sampleA」の値は、" + sampleA + "<br />" );
document . write( "変数「sampleA」のデータ型は、「" + typeof( sampleA ) + "」<br />" );
}
</script>
var sampleA;
if ( sampleA === undefined ) {
document . write( "変数「sampleA」は、未定義である。<br />" );
document . write( "変数「sampleA」の値は、" + sampleA + "<br />" );
document . write( "変数「sampleA」のデータ型は、「" + typeof( sampleA ) + "」<br />" );
}
</script>
変数が値を持っているか調べるサンプル(2)
解説
変数のデータ型が、未定義型(undefined)であるかどうかを調べることで、変数が値を持っているかどうかを調べることもできる。
ソースコード
<script type="text/javascript">
var sampleB;
if ( typeof( sampleB ) === 'undefined' ) {
document . write( "変数「sampleB」は、未定義である。<br />" );
document . write( "変数「sampleB」の値は、「" + sampleB + "」。<br />" );
document . write( "変数「sampleB」のデータ型は、「" + typeof( sampleB ) + "」。<br />" );
}
</script>
var sampleB;
if ( typeof( sampleB ) === 'undefined' ) {
document . write( "変数「sampleB」は、未定義である。<br />" );
document . write( "変数「sampleB」の値は、「" + sampleB + "」。<br />" );
document . write( "変数「sampleB」のデータ型は、「" + typeof( sampleB ) + "」。<br />" );
}
</script>