このチャプターでは、微妙なケースに注意を払いながら、私たちが今まで学んだJavaScriptの機能を簡単に再確認します。
コード構造
文はセミコロンで区切られます:
alert('Hello'); alert('World');
通常、行の終わりは区切りとして扱われますので、これは動作します:
alert('Hello')
alert('World')
これは “自動セミコロン挿入” と呼ばれます。ときどき、これは動作しません。例えば:
alert("There will be an error after this message")
[1, 2].forEach(alert)
ほとんどのコードスタイルのガイドは、各文の後にセミコロンを置くことに賛同しています。
セミコロンはコードブロック {...} や、ループのような構文構造の後では必要ありません:
function f() {
// 関数宣言のあとにセミコロンは不要です
}
for(;;) {
// ループの後にセミコロンは不要です
}
…しかし、“余分な” セミコロンを任意の場所に置いたとしても、それはエラーではありません。それは無視されます。
より詳細はこちら: コード構造.
Strict モード
現在のJavaScriptのすべての機能を完全に有効にするには、"use strict" でスクリプトを始める必要があります。
'use strict';
...
そのディレクティブはスクリプトの先頭、もしくは関数の最初である必要があります。
"use strict" がなくてもすべて動作しますが、幾つかの機能は “互換性のある” 旧来の振る舞いとなります。一般的に、現代的な動作が好まれるでしょう。
言語に最新の機能のいくつか(今後学ぶクラスなど)は暗黙的に strict モードを有効にします。
より詳細はこちら: モダンなモード, "use strict".
変数
これらを使って定義できます:
letconst(定数, 変更できない)var(古いスタイル, あとで見ます)
変数の名前は次を含むことができます:
- 文字と数字、しかし1文字目に数字は指定できません。
- 記号の
$と_は普通の文字と同等です。 - 非ラテンのアルファベットや象形文字も使えますが、一般的には使用されません。
変数は動的に型付けされます。 それらは任意の値を格納することができます:
let x = 5;
x = "John";
7つのデータ型があります:
number浮動少数点と整数値両方bigint任意の長さの整数値string文字列boolean論理値:true/falsenull– 単一の値nullを持つ型。“空”, “存在しない” を意味するundefined– 単一の値undefinedを持つ型。“未割り当て” を意味するobjectとsymbol– 複雑なデータ構造やユニークな識別子です。私たちはまだそれらは学んでいません。