6時だョ!!全員集合!!

Rails・JavaScrictを中心にアウトプットします。

2021年10月7日 JavaScript (JavaScript Primer) 基本文法

JavaScriptとは

JavaScriptはウェブブラウザ上で動くプログラミング言語です。

JavaScriptECMAScriptの仕様に従って動作しています。 ECMAScriptは毎年アップデートされます。2015年に大きくアップデート(ES2015)してJavaScriptは再度注目されるようになりました。

JavaScriptECMAScriptの関係とは?

JavaScriptという言語はECMAScriptという仕様によって動作が決められています。ECMAScriptという仕様では、どの実行環境でも共通な動作のみが定義されているため、基本的にどの実行環境でも同じ動作をします。

画像引用 つまり、ECMAScriptは、どの実行環境でも共通している部分の動作を担うもので、JavaScriptは、実行環境によって異なる部分のある機能も含んだものとなっています。JavaScriptECMAScriptを内包しているとイメージすると良いです。

基本的な文法

・ 大文字と小文字は区別する

// `name`という名前の変数を宣言
const name = "azu";
// `NAME`という名前の変数を宣言
const NAME = "azu";


・ 「文」はセミコロンで区切る

// 式や文の間にスペースがいくつあっても同じ意味となる
1 + 1;
1   +   1;

実行コンテキストとは

実行コンテキスト、スコープチェーン、JavaScript内部に詳しく記載されているで、引用します。

実行コンテキスト(EC) は、JavaScriptコードが実行される環境として定義されます。環境とは、JavaScriptコードが特定の時間にアクセスできるthis、変数、オブジェクト、および関数の値を意味します。

strict mode

use strictという文字列をファイルまたは関数の先頭に書くことで、そのスコープにあるコードはstrict modeで実行されます。 strict modeでは開発者が安全にコードを書けるようになっています。例えば、過去の技術や仕組みで構築されているシステムの機能や構文などを禁止したり、問題を含んだコードに対しては例外を投げることで間違いに気づきやすくしてくれる機能を提供しています。

"use strict";
// このコードはstrict modeで実行される

JavaScriptでのコメントの書き方

JavaScriptでもプログラムとしては評価されないが、ソースコードの説明などを付け足せるコメント機能があります。コメントには、1行コメント複数行コメントがあります。

// 一行コメント
// この部分はコードとして評価されない


/*
   複数行コメント
   囲まれている範囲がコードとして評価されない
 */


//HTML-likeコメント
<!-- この行はコメントと認識される
console.log("この行はJavaScriptのコードとして実行される");
-->  この行もコメントと認識される

上記の HTML-likeコメント とは、JavaScriptがサポートされていないブラウザでscriptタグを実行するためのコメントです。ES2015から追加されましたが、現在では全てのブラウザがJavaScriptに対応しているので、このコメント機能は不要です。

<script>
<!-- この行はコメントと認識される
console.log("この行はJavaScriptのコードとして実行される");
-->  この行もコメントと認識される
</script>

コメントに関するまとめ

  • // 以降から行末までが1行コメントです。
  • /**/で囲まれた範囲が複数行コメントです。
  • HTML-likeコメントは後方互換性のためだけに存在します。

参照

JavaScript Primer
JS-JavaScriptでコメントを記述する&コメントアウト活用法
実行コンテキスト、スコープチェーン、JavaScript内部