JavaScript
本書は、JavaScriptの解説書です。JavaScriptは、ウェブページやウェブアプリケーションで広く使われているスクリプト言語であり、最も広く普及しているプログラミング言語の一つです。また、Node.jsなどのフレームワークを使うことで、サーバーサイドでもJavaScriptを実行することができます。

本書では、初めてプログラミングをする人から、他の言語で経験を積んだ人まで、広く対象としています。基本的なJavaScriptの書き方を解説することで、読者がより深く理解できるように配慮しました。
JavaScriptは、初心者が学ぶのに最適なプログラミング言語であり、ブラウザだけで簡単にプログラムを作ることができます。言語のコア部分は、国際標準化団体であるEcmaインターナショナルによってECMAScriptとして標準化され、仕様が明確になっています。Node.jsなどのフレームワークを使うことで、JavaScriptをより高度なアプリケーション開発にも利用できます。
目次 編集
Javaとの関連性 編集
JavaScriptとJavaは、名前が似ているため混同されることがありますが、実際には異なる言語です。
JavaScriptは、Webブラウザ上で動作するスクリプト言語であり、主にWebアプリケーションの開発に使用されます。JavaScriptは、ECMAScriptという標準仕様に基づいて設計されており、Webブラウザ上で実行されます。
一方、Javaは、オブジェクト指向のプログラミング言語であり、主に企業向けのアプリケーション開発に使用されます。Javaは、Java仮想マシン(JVM)上で実行されるため、プラットフォームに依存しない特徴があります。
ただし、JavaScriptとJavaはいくつかの点で関連があります。例えば、Javaアプレットを使用することで、Webページ上でJavaのアプリケーションを実行することができます。また、JavaScriptのフレームワークやライブラリには、Javaのフレームワークやライブラリに影響を受けたものがあります。
また、最近のJavaScriptの開発においては、Javaの影響を受けた構文やアーキテクチャが取り入れられることがあります。例えば、TypeScriptというJavaScriptの拡張言語は、Javaに似た静的型付けのシステムを導入しています。
JavaScriptとJavaは、異なる言語ですが、両者の関係は多岐にわたります。
JavaScriptの応用範囲 編集
JavaScriptは、Web開発において最も広く使用される言語の一つであり、以下のような応用範囲があります。
- クライアントサイドWeb開発:JavaScriptは、Webブラウザで動作するクライアントサイドのWebアプリケーション開発に使用されます。JavaScriptを使用することで、ユーザーがWebページやWebアプリケーションを対話的に操作することができます。
- サーバーサイドWeb開発:Node.jsを使用することで、JavaScriptはサーバーサイドのWebアプリケーション開発にも使用されます。Node.jsは、JavaScriptを実行するためのランタイム環境であり、サーバーサイドでのWebアプリケーションの実行や、データベースやファイルシステムなどのI/O操作を実行することができます。
- モバイルアプリケーション開発:React Nativeを使用することで、JavaScriptはモバイルアプリケーション開発にも使用されます。React Nativeは、JavaScriptを使用してiOSやAndroidのネイティブアプリケーションを開発するためのフレームワークです。
- デスクトップアプリケーション開発:Electronを使用することで、JavaScriptはデスクトップアプリケーション開発にも使用されます。Electronは、JavaScriptを使用して、Windows、Mac、Linuxなどのデスクトップアプリケーションを開発するためのフレームワークです。
- ゲーム開発:JavaScriptは、Webブラウザ上で動作するゲーム開発にも使用されます。HTML5 CanvasやWebGLなどのWeb技術を使用することで、高品質のWebゲームを開発することができます。
JavaScriptは、Web技術を中心に広く使用される言語であり、多くの場面で使用されています。これらの応用範囲は、今後も拡大することが予想されます。
派生言語 編集
JavaScriptの派生言語には、以下のようなものがあります。
TypeScript 編集
Microsoftが開発したJavaScriptのスーパーセットであり、静的型付けやクラス、インターフェースなどの機能を追加しています。
- TypeScriptのコード例
function greet(name: string) { console.log(`Hello, ${name}!`); } greet("John");
CoffeeScript 編集
JavaScriptの文法をより簡潔にした言語で、コードを読みやすくするための構文糖衣を提供します。
- CoffeeScriptのコード例
greet = (name) -> console.log "Hello, #{name}!" greet "John"
参考文献 編集
- Standard ECMA-262 5.1 Edition / June 2011 ECMAScript® Language Specification(注釈版)
- Standard ECMA-262 6th Edition / June 2015 ECMAScript® 2015 Language Specification
- Draft ECMA-262 ECMAScript® Language Specification
- ECMA-402 7th Edition / June 2020 ECMAScript® 2020 Internationalization API Specification
標準API 編集
- HTML Living Standard
- DOM Living Standard
- Console Living Standard
- XMLHttpRequest Living Standard Ajax
- Fetch Living Standard
- Fullscreen API Living Standard
- Infra Living Standard
- Compatibility Living Standard
- Storage Living Standard
- Streams Living Standard
- Encoding Living Standard
- MIME Sniffing Living Standard
- Notifications API Living Standard
- URL Living Standard
- Media Session Standard