JavaScriptの基本-1

参考書籍 : JavaScript本格入門


JavaScriptの基本的な記法
Hello World!

window.alert("Hello World!");

JavaScript擬似プロトコルJavaScriptを実行することもできる。
以下のリンクをクリックすると、alert()が実行される

<a href="JavaScript:window.alert('Hello World!')">link</a>

 
文のルール
1, 末尾にセミコロン;をつける
2, 文の途中に空白/タブや改行を含めることが可能
3, 大文字、小文字は厳密に区別される

コメント

// 単一行コメント

/*
    複数行コメント
*/

/**
 * ドキュメンテーションコメント
 */

 

・変数/定数
変数はvarで宣言する。宣言時に初期値を設定できる

var x, y;
var msg = 'Hello World!';

初期値を設定しない場合、undefinedという特別な値が変数に割り当てられる。
var無しでも変数宣言はできるが、変数がグローバルスコープのプロパティとなるため非推薦

let命令でも、変数を宣言できる。let命令はES2015で追加された
varとの違いは、
1, 変数名の重複を許可しない
2, ブロックスコープを認識する

命名規則
変数の1文字目は英字/アンダースコア/ドル記号のいずれか
 1文字目がアンダースコアの変数はクラスのプロパティに使われる。
 ドル記号はjQueryオブジェクトを含む変数に使われている。
ローカル変数は、ローワーキャメルケースで命名する。 ex) lastName

ES2015から、constで定数を宣言できる。
定数は、全て大文字で、単語をアンダースコアでつなげて命名する。 ex) CONST_NAME


・データ型
JavaScriptは動的型付け言語なので、変数宣言時にデータ型を意識する必要はない。
基本型として、数値型、文字列型、真偽型、シンボル型、特殊型(null, undefined)がある。
参照型は、配列、オブジェクト、関数がある。

リテラル表現
1, 数値リテラル : 整数と浮動小数点数がある。
 100, 0xFF, 0o60, 0b11, 1.5, 3.14e5
2, 文字列リテラル : ''または""で囲む。エスケープ文字を含められる
 'Hello World!', "Hello World!", 'Hello World!\n'
3, テンプレート文字列 : ES2015から、''(バッククオート)で囲むことで、文字列への変数の埋め込みや、改行などをそのまま記述できる
 'Hello ${name}.
 See you.'
4, 配列リテラル
 ['JavaScript', 1, ['jQuery', 'prototype.js']]
5, オブジェクトリテラル : 名前をキーとする配列、連想配列とも呼ばれる。JavaScriptでは連想配列とオブジェクトは同じものを指す
 キーの命名規則は変数と同じく、変数の1文字目は英字/アンダースコア/ドル記号のいずれかになる。
 { x:1, y:2, z:3 }
6, 関数リテラル
 function(x, y){return (x + y);}
7, 未定義型 undefined
8, null : nullは空であることを示すために、意識的に使用する。


演算子
1, 算術演算子 : 基本的な演算、オペランドのデータ型により動作が変わる
 +, -, *, /, %, ++, --
2, 代入演算子 : 基本型の場合はコピーが、参照型の場合は参照が渡される。定数には再代入できない
 =, +=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=, >>>=
2-1, 分割代入 : 配列、オブジェクトをまとめて変数に代入。オブジェクトの分割代入はES2015から
 let data = [56, 40, 26, 82, 19, 17, 73, 99];
 let [x0, x1, x2, x3, x4, x5, x6, x7] = data;
 let book = { title: 'Javaポケットリファレンス', publish: '技術評論社', price: 2680 };
 // 変数名とキーを対応させて代入する。memoに対応するキーはないので、デフォルトのなしになる。
 let { price, title, memo = 'なし' };
3, 比較演算子 : 真偽を返す
 ==, !=, <, <=, >, >=, ===, !==, ?:
4, 論理演算子 : 真偽値を論理的に結合。左式の評価により、右式が評価されるかが変わる。
 &&, ||, !
5, ビット演算子 : 整数値をビット演算する
 &, |, ^, ~, <<, >>, >>>
6, その他の演算子
 ,(カンマ), delete, instanceof, new, typeof, void
演算子には優先度と結合則がある。