Javascriptの変数は初期化して使わないとundefinedになるので要注意

スポンサーリンク

どんな言語もローカル変数は初期化して使うのが良い

Javascriptに限らずどんな言語にも言えることなのですが、
変数、特にローカル変数はきちんと初期化してから使いましょう。
ちょっとした手抜きが思わぬ不具合を生むことになります。

初期化しない変数はundefinedになる

Javascriptでは初期化していない変数の内容は「””」ではなくundefinedになります。

<head>
    <script>
        function onAlertMessage1( param_msg )
        {
            var    msg ;
            window.alert( msg + param_msg  ) ;
        }
        function onAlertMessage2( param_msg )
        {
            var    msg ="初期化";
            window.alert( msg + param_msg  ) ;
        }
    </script>
</head>
<body>
    <input type="button" value="初期化なし変数の内容は?" onClick="javascript:onAlertMessage1('=変数を初期化してません。');"><br>
    <input type="button" value="初期化あり変数の内容は?" onClick="javascript:onAlertMessage2('=変数を初期化してます。');"><br>
</body>

上記の例ではonAlertMessage1()でのmsgの内容は「””」になりそうですが「undefined」になります。
なのでボタンを押下すると「undefined=変数を初期化してません。」と表示されます。

ということで変数を宣言したらきちんと初期化してから使いましょう。

タイトルとURLをコピーしました