「JavaScript」の版間の差分

削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
→‎ファイル入出力は無い: コマンドプロンプトとDOSプロンプトの混同
Ef3 (トーク | 投稿記録)
96 行
-->
 
== JavaScriptの応用範囲 ==
== 無い機能 == <!-- 冒頭からネガティブなキャッチから入るのは教本/参考書としてはいかがなものか? -->
多くのプログラミング言語とは異なり、JavaScript言語には入力や出力の概念がありません。JavaScriptは、ホスト環境でスクリプト言語として動作するように設計されており、外部とのやり取りは仕組みはホスト環境に委ねられています。最も一般的なホスト環境はブラウザですが、JavaScriptのインタープリタは、Adobe Acrobat、[[w:Node.js|Node.js]]などのサーバサイド環境、オープンソースの[[w:Apache CouchDB|Apache CouchDB]]などのNoSQLデータベース、組み込みコンピュータ、[[w:GNOME|GNOME]]などの完全なデスクトップ環境など、他にも多くの応用例があります。
=== ファイル入出力は無い ===
上記の目次に、ファイルへの書き込みなどの、「ファイル入出力」に関する単元が上記の目次に無いのに気づいただろうか?
 
実はセキュリティなどの理由から、一般的なウェブブラウザ上では、JavaScriptによるファイル操作のプログラムが原則的に動作しないようになっている。
 
サーバーなど、ウェブブラウザ以外の環境でしか、JavaScriptによるファイル操作のプログラムは動作しない。また、一般にサーバー側でプログラムを書く場合には、[[PHP]] や [[Perl]] などといった、JavaScript以外のプログラミング言語が用いられる。
 
このため、本wikiの本科目では JavaScript によるファイル操作のプログラムは扱われない。
 
ただし、HTML5からFile API というAPIが追加され、このFile API を通して、限定的にだが、ファイルの読み込み程度の操作なら可能になっている。
 
これとは別に、Windows限定だが、JavaScript風のスクリプト言語であるJScript(ジェイスクリプト)というのが、実はコマンドプロンプトから起動できるようになっているので、これを使うと、ウェブブラウザを経由しないので、ファイル入出力などのファイル操作も可能である。しかし、JScriptでは、ウェブブラウザ用の標準の命令が使えないし、GUI的な機能もほぼ無い(簡単なテキスト処理や、初歩の数値計算などがJScriptなどで可能)。
 
;[[JavaScript/JScript]] (Windows限定)
 
これとは別に、Google Chrome 限定だが、Native File System API というファイル操作をできるAPIが用意されており、Google Chrome 上でプログラムを動かしている場合にだけ、ファイルの読み書きなどの操作が出来るGoogle Chrome 限定のAPIがあり、Chrome 上で動く JavaScript などと連動できる。
 
=== クラスはES5以前は無かった ===
2015年からのES6(ECMAScript)で、JavaScriptにクラスの機能が追加された。(Java や C# という言語には、クラスという機能がある。そのクラスと類似の機能が JavaScriptにも追加された。)
 
それ以前のもともとの古い JavaScript にはクラスの機能は無い。
 
たとい読者がクラスを知らなくても、一般的なwebページを作るぶんにはクラス機能は利用しないのが通常なので、一般的なJavaScriptの用途では、特に問題は無い。
 
== 派生言語 ==