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