2022年6月5日

JavaScript スペシャル(これまでのおさらい)

このチャプターでは、微妙なケースに注意を払いながら、私たちが今まで学んだ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".

変数

これらを使って定義できます:

  • let
  • const (定数, 変更できない)
  • var (古いスタイル, あとで見ます)

変数の名前は次を含むことができます:

  • 文字と数字、しかし1文字目に数字は指定できません。
  • 記号の $ と _ は普通の文字と同等です。
  • 非ラテンのアルファベットや象形文字も使えますが、一般的には使用されません。

変数は動的に型付けされます。 それらは任意の値を格納することができます:

let x = 5;
x = "John";

7つのデータ型があります:

  • number 浮動少数点と整数値両方
  • bigint 任意の長さの整数値
  • string 文字列
  • boolean 論理値: true/false
  • null – 単一の値 null を持つ型。“空”, “存在しない” を意味する
  • undefined – 単一の値 undefined を持つ型。“未割り当て” を意味する
  • object と symbol – 複雑なデータ構造やユニークな識別子です。私たちはまだそれらは学んでいません。