未定義型

未定義型(undefined)とは、未定義であることを示すデータ型。

値を代入していない変数は、未定義型(undefined)となる。値を返さない関数も、undefinedを返す。

サンプル

変数が値を持っているか調べるサンプル(1)

ソースコード

<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>

変数が値を持っているか調べるサンプル(2)

ソースコード

<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>

「undefined」と「null」の比較サンプル

解説

==で比較すると、undefinednullも、未定義undefinedであると判定される。

undefinedだけを、未定義undefinedであると判定されるには、===を使い、型も含めて比較する必要がある。

ソースコード

<script type="text/javascript">
var sampleC;
var sampleD = null;
document . write( "【「==」での比較結果】<br />" );
if ( sampleC == undefined ) {
    document . write( "変数「sampleC」は、未定義である。<br />" );
    document . write( "変数「sampleC」の値は、「" + sampleC + "」。<br />" );
    document . write( "変数「sampleC」のデータ型は、「" + typeof( sampleC ) + "」。<br />" );
}
if ( sampleD == undefined ) {
    document . write( "変数「sampleD」は、未定義である。<br />" );
    document . write( "変数「sampleD」の値は、「" + sampleD + "」。<br />" );
    document . write( "変数「sampleD」のデータ型は、「" + typeof( sampleD ) + "」。<br />" );
}
document . write( "【「===」での比較結果】<br />" );
if ( sampleC === undefined ) {
    document . write( "変数「sampleC」は、未定義である。<br />" );
    document . write( "変数「sampleC」の値は、「" + sampleC + "」。<br />" );
    document . write( "変数「sampleC」のデータ型は、「" + typeof( sampleC ) + "」。<br />" );
}
if ( sampleD === undefined ) {
    document . write( "変数「sampleD」は、未定義である。<br />" );
    document . write( "変数「sampleD」の値は、「" + sampleD + "」。<br />" );
    document . write( "変数「sampleD」のデータ型は、「" + typeof( sampleD ) + "」。<br />" );
}
</script>

スポンサード リンク

カテゴリー: JavaScript, データ型, リファレンス パーマリンク