どらちゃんのポッケ

R・統計・技術メモなど勉強ログ置き場

JavaScriptはじめました(基本的言語仕様)

JavaScriptの勉強はじめました。
だれだよ。1週間でものにできるとか言ってたやつ!難しくないか?
ちなみに、私の開発環境は.NET/visual studioです。

超基本として、JavaScriptはHTMLとかに記述するんだけど、以下のようにタグで囲む。

< script type="text/javascript">
  -ここにスクリプトを記述する-

ということで、今回は。

  1. 変数宣言はVarで行う。
  2. シングルコートとダブルコートについて
  3. スクリプトを埋め込む位置
  4. Undefinedについて
  5. objectリテラル
  6. return,break,continue文の途中で改行してはいけない。

1)変数宣言はVarで行う。

var msg ='hello';
document.writeln(msg);

※変数宣言を行わなくても、下のように実行可能。

msg='hello';
document.writeln(msg);

msgに値を格納する段階でメモリの割り当てが発生。
ただし、変数宣言をしないものは、すべてグローバル変数と見なされるため、非推奨。

2)シングルコートとダブルコートについて
基本的には、両者が一致していれば問題ない。

"He is nice man" ⇒OK
'He is nice man' ⇒OK

しかし、文中にどちらかを含む場合は、文中に含まない方を使う、もしくわ、エスケープ文字を使う。

'He's nice man' ⇒NG
"He's nice man" ⇒OK


3)スクリプトを埋め込む位置

  1. 結果を埋め込みたい⇒の中
  2. 関数を定義したい⇒の直前
  3. の配下で直接呼び出すための関数を定義する必要⇒の配下

4)Undefinedについて
変数が定義されていないことを示す値。

下記の条件のときに、undefinedとなる。

  • 変数宣言をしただけのもの。
var x;
  • 未定義のプロパティを参照した。

undefinedはグローバルオブジェクトのプロパティなので、変数を定義することも可能。

undefined=10;

しかし、エラーを生むので、undefinedには値を定義していはいけない。

5)objectリテラル
名前をキーにできる配列。
呼び出し方には2つの種類がある。

var obj = {x:1,y:2}

obj.x    //1  ドット演算子
obj['x'] //1 ブランケット構文

しかし、ドット演算子はプロパティ名は識別子と見なされるので、
命名規則に沿っていないと参照できない。
つまり、

obj.123     //エラー 数字が先頭は命名規則違反
obj['123']  //参照可能

6)return,break,continue文の途中で改行してはいけない。
JavaScriptではセミコロンがなくても記述可能なので、
改行が文末として認識されてしまう。

function triangle(base, height) {
        return base * height / 2;
    }

⇒OK

function triangle(base, height) {
        return 
               base * height / 2;
    }

⇒エラー

                                                            • -

return ;
base * height / 2;

                                                            • -

と見なされるため