JavaScriptとは?特徴やできることについて紹介
こんにちは。エンジニアのサーモンです。
WebサイトやWebサービスの開発現場では、ブラウザで動作するJavaScriptというプログラミング言語がよく利用されています。
この記事では、JavaScriptがどんな言語か解説します。
JavaScriptの特徴
JavaScriptはプログラミング言語であり、以下のような特徴があります。
- ブラウザ上で動作するプログラムを記述することができる
- もちろん、ブラウザ外で動作するプログラムも実装可能です
- 第一級関数を備えている
- インタプリター型である
特に、Webデザイナーにとって一つ目の特徴は重要です。
2022年現在、Webサイトで動作するプログラムを作るとしたらプログラミング言語はJavaScript一択となっており、今後しばらくはこの状況が続くと思われます。
JavaScriptでできること
JavaScriptを利用すると実に多様な機能を実現できます。
まずはいくつか、Webデザインに取り入れられそうな例を挙げてみます。
例えば、動作を自動化することができます。
- カルーセル(画像切り替えの自動化)
- 映像の自動再生、停止
- ページ読み込み時のローディング画面
また、ユーザとのインタラクションを実現することができます。
- カーソル位置に応じたアニメーション
- フォーム入力に対するバリデーション
- カメラ入力、音声入力の取得
さらに、コンテンツを生成することもできます。
- テキストの書き換え
- 映像・画像・音声処理
- アニメーションの描画
このように、JavaScriptを利用することでWebブラウザの様々な機能を利用したり、外部の情報を取り入れることが可能になります。さらに、近年ではWebサイトの構築自体にさえJavaScriptが利用されることもあり、その応用範囲はますます広がっていくことでしょう。
JavaScriptとは
これまでJavaScriptの側面について見てきましたが、そもそもJavaScriptとはなんなのでしょうか?
その実態は、Ecma Internationalによって標準化されている言語仕様(ECMA Scriptと呼びます)です。各種ブラウザ(Chrome、Firefox、Safariなど)のベンダは、言語仕様をもとに実装したJavaScriptエンジンをブラウザに搭載し、我々はそれを利用しているというわけです。
それにより、どのブラウザでもおおよそ同じソースコード(プログラムを記述したテキストのこと)を読み込んで実行できるのですが、ベンダによってJavaScriptエンジンの追従が追いついていなかったり、特殊なオプションが追加されていたりします。しかも、ブラウザはかなり頻繁にアップデートされるので、こうした変更もしょっちゅうです。
そのため、フロントエンドエンジニアやWebデザイナーは自身で記述したソースコードが対象ユーザの利用するブラウザで動作するか、絶えず検証する必要があるのです。
このように、JavaScriptは言語仕様とその実装からなるものなので、書籍ではよく「ECMA Scriptのバージョン○○に対応」という形に限定して、その言語仕様について説明されることが多いです。
しかし、JavaScriptの言語仕様そのものには、ブラウザの機能を利用する方法(APIと呼びます)は含まれていません。「JavaScriptでできること」で記述したような機能を実現するためには、JavaScriptの文法を学んだ上でAPIについても学ぶ必要があるのです。これは遠回りに感じ、実際なかなか大変です。
TechTopicでは、「WebデザインのシーンにおけるJavaScriptの利用」にフォーカスした解説記事も掲載しておりますので、ぜひ読んでみてください。