Changes between Version 7 and Version 8 of HowTo/JavaScriptLanguageIntroduction/ValueAndVariable


Ignore:
Timestamp:
Aug 12, 2010, 2:53:25 PM (14 years ago)
Author:
村山 俊之
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • HowTo/JavaScriptLanguageIntroduction/ValueAndVariable

    v7 v8  
    322322=== 宣言されていない変数 ===
    323323
    324 !JavaScript では、まったく宣言されていない名前の変数にいきなり値を代入しても、エラーにはなりません[[FootNote(コンソールに警告を出力する処理系はあるかも知れません。)]]。この場合、その変数は、'''グローバルオブジェクト'''のメンバフィールドとして扱われます。
     324!JavaScript では、まったく宣言されていない名前の変数にいきなり値を代入しても、エラーにはなりません[[FootNote(「厳密な !JavaScript 」のオプションがある環境では、コンソールに警告を出力するように設定することができます。例えば Firefox の場合、 about:config にて javascript.options.strict を true に設定しておくと、「ツール」→「エラーコンソール」メニュー選択で表示されるコンソール画面に警告が表示されるようになります。)]]。この場合、その変数は、'''グローバルオブジェクト'''のメンバフィールドとして扱われます。
    325325
    326326Web ブラウザに実装された !JavaScript エンジンの場合、グローバルオブジェクトは window になりますので、下記のような場合には、
     
    338338グローバルオブジェクトは !JavaScript エンジンを搭載しているアプリケーションによって異なりますので (それは system かも知れませんし、 global かも知れませんし、あるいはアプリケーションの名前かも知れません)、事前に確認しておいた方がよいでしょう。
    339339
     340なお、まったく宣言されていないし値の代入すら行われていない名前の変数に、既に値が入っているものとして参照しようとした場合には、エラーとなります。
     341
     342{{{
     343var hoge = fuga;    // エラー: 変数 fuga は定義されていない!!
     344}}}
     345
    340346[[FootNote]]
     347
     348=== 変数の名前 ===
     349
     350!JavaScript では、変数の命名規則は以下の通りになっています。
     351
     352 * 1文字目はアルファベットか、アンダースコア "_"、ドル記号 "$" で始まらなければならない。
     353 * 2文字目以降は上記に加え、さらに数字を用いることができる。
     354 * アルファベットの大文字・小文字は、区別される。
     355
     356なお、 !JavaScript 1.5 以降では、アルファベットは半角英字のみならず、 Unicode でアルファベットとされる文字であればすべて含まれます。例えば日本語のひらがなやカタカナ、漢字などもアルファベットに含まれます。但し、半角英字以外のアルファベットを変数名に用いる場合は、!JavaScript プログラムが書かれたファイルを UTF-8 エンコード形式で保存する必要があります。
     357
     358{{{
     359var abc = "XYZ";                    // ok. すべてアルファベットの名前
     360var result1_value = 20;             // ok. 2文字目以降なら数字も使用可
     361var _RANDOM_SEED = (new Date()).getTime() + 1637291;    // ok. "_" で始まる名前
     362var $coin10Num = 50;                // ok. "$" で始まる名前
     363var 氏名 = "村山 俊之";             // ok. Unicode 的には漢字もアルファベット。
     364                                    // 但しプログラムファイルは UTF-8 で保存すること
     365
     366var 1st_name = "Toshiyuki";         // NG!! 1文字目に数字を使用することはできない
     367var company-name = "Harapeko Inc."; // NG!! ハイフン "-" は使用不可
     368var ★重要★ = true;                // NG!! Unicode 的に見ても "★" はアルファベットではない
     369}}}