undefined プロパティ 上のリンクは、Microsoft のドキュメントですが、undefined という変数が最初から定義されていて、undefined という特殊な値が入っている事を意味します。 但し、この変数は内容を変更できてしまいますので、確実な値は void( 0 ) を使います。また、ブラウザでは Global オブジェクトと window オブジェクトは同じものであるという事も以下の例で確かめる事ができます。 さらに、定義済の変数は、直接 undefined という値で比較できまかすが、未定義の値は typeof(未定義変数) == 'undefined' という比較方法になります。
<script type="text/javascript"> // テスト用の alert function alertx(message) { console.log(message); // alert(message); } try { // 定義済なので実行可能です alertx("定義した未設定の変数の中身 = " + undefined); // 未定義なのでエラーになります alertx(un_defined); }catch(e){alertx("未定義変数の参照エラー = "+e.message)} (function(){ // 中身を書き換える事ができます // ※ ローカルからグローバルにアクセスしています window.undefined = "undefined 変数の書き換え"; // un_defined を定義して、undefined 値をセット window.un_defined = void(0); })(); // ローカルからセットした値が有効です alertx("undefined の内容 = "+undefined); alertx("un_defined の内容 = "+un_defined); var x; if ( x === un_defined ) { alertx("未設定の変数の中身は、void(0)の結果と同じ(定義済の変数とは比較可能)"); } try { if ( y === un_defined ) { alertx("if で 未定義の y を参照してエラーになり、ここは実行されません"); } }catch(e){alertx("未定義変数の参照エラー = "+e.message)} if ( typeof(y) == 'undefined' ) { alertx("未定義変数かどうかのチェックです"); } </script>
|
【JavaScriptの最新記事】
- Replit : js-web-speech
- JavaScript の論理和(||) による『無かった場合の値の代入』/ expr1 || expr2 は expr1 を false と見ることができる場合は expr2 を返します
- Seesaa の記事に下の『最新の同カテゴリのリスト』のリンクの最後に付く ?seesaa_related=category を削除する方法
- JavaScript : ブラウザ判定( IE11 対応 ) / edge を追加
- JavaScript : 入力文字列を 変数用16進数表現 に変換する
- JavaScript : 入力文字列を htmlentity に変換する
- HTML5 で行われる入力チェックを :invalid :valid 疑似クラスと JavaScript を使用してリアルタイムにエラーを視認させる
- HTML5 で行われる入力チェックのエラーメッセージをカスタマイズする JavaScript の記述( この手のコントロールはとてもデリケートです。いろいろなパターン検証が必要です )
- テーブルのセルをクリックして背景色を rgb(0,0,0) から #000000 の変換で、eval を使う事の考察
- JavaScript & VBScript : ブラウザから Windows の OS のバージョンを判定
- Firefox、IE11 の canvas で動作する楕円( ellipse )関数
- 文字列を UTF-8(2バイト以上) で表現した時の 16進数表現の文字列を取得する
- ブログで jQuery を使用するのに、全ての記事で使うわけでは無いので、記事毎でロードする
- JavaScript による2会話アプリケーションのコントロール(2)
- JavaScript による2会話アプリケーションのコントロール(1)
- 簡易縦書き変換
- ブラウザの WebGL チェック : jQuery 名前空間へ変数($.is_webgl)追加
- JSONP の原理と、簡単な利用方法の実際のコード( 実装は jQuery が良いですが、Access-Control-Allow-Origin: * のほうが楽だし読込み先を制限できます )
- document.createElement("a") で新しいウインドウ(タブ)を開く
- JavaScript と VBScript のカラーコード(#RRGGBB)の文字列と数値間の相互変換