JavaScriptの意味が広がっていて

JavaScriptは書き方が色々ある柔軟な言語で、その上、近年の標準・実装の大幅バージョンアップ、またNode.jsの発展などにより、「JavaScript」の意味合いが広がっている。


    JavaScript(広義)の全体像

    ネット上の「JavaScript」と称するコードの出身(前提とする環境)は様々なので、適切な環境で実行する。ここでは以下のような意味で用語を使う。

    1. 標準: ECMAScriptの文法や基本的なオブジェクトの仕様、その他DOMなど
    2. 実装: 標準のうち、ブラウザやNode.jsなどが組み込んだもの
    3. 拡張: ブラウザやNode.jsが独自に組み込んだもの(標準未満の草案の実装も)
    4. 外部ライブラリ: 第三者が作成・配布するオブジェクト(jQuery、npmのパッケージなど)
    5. その他: CoffeeScriptといったトランスコンパイラなど

    JavaScriptの標準 ECMAScript

    JavaScriptの文法・仕様・ルールを標準化している団体がEcma Internationalで、その標準をECMAScript(略してES)という。

    当サイトでは、主にES6のstrictモードで動作確認。環境(Node.jsやブラウザ)によってES6の実装進捗は様々(各環境の対応テーブル)。


    ブラウザ用JavaScript

    Webページ閲覧時にサーバから送信され、クライアントのブラウザで実行される下記のJavaScriptを指す。ローカルにあるHTMLファイル(JavaScript付き)をブラウザで開いても動く(一部を除いて)。

    コードはブラウザに縛られ、OSの中核機能を操作できない。例えば、勝手にファイルシステムを覗くコードはない(参考:ユーザが許可したファイル読み込み)。この文脈ではブラウザアドオンなど個別にインストールした特権を得たコードは除く。


    Node.js用JavaScript

    Node.jsにおけるJavaScriptへ。