支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡


はじめに

本記事では、JavaScriptについてとりあげていきます。一見、プログラミング言語の「Java」と名前がよく似ていますが、2つにはどういった違いがあるのか、また、JavaScriptがどんなプログラミング言語なのか、どんなことができるのか。プログラミングを学習しはじめたばかりの方や、またこれからはじめる方にも分かりやすく説明をしていきたいと思います。

JavaScriptについて知ってみよう

JavaScriptとJavaの名前が似ている件について

結論から言うと、この2つの言語は名前はよく似ているもののその中身は全く別物になります。ではなぜこのように似た名前になっているのかというと、そもそもJavaScriptという言語がつくられたその当時に人気であったプログラミング言語というのが「Java」であり、当時の人気の波に乗るといった意味で、”Java”を名前に取り入れたことが理由だとも言われています。2つの言語をはじめて耳にするとやはりなにかしらの関連性を想像してしまいますが、先述の理由から、中身に関しては別物、という事だと思ってください。

JavaScriptとJavaは作るものが違う

Javaでつくられるものの多くは、アプリケーションや業務システムなどの、内部の処理構造の開発に見られます。それに対し、JavaScriptの多くはWebページを開いたときにポップアップを表示させたり、開いている人のマウスの動きに合わせてモーションをつけるといったような、Webページをよりリッチに使いやすく見せる、見た目向上の目的で多く使われる言語となります。

JavaScriptの強み

事前知識としてまず「クライアントサイド」と「サーバーサイド」の違いですが、簡単に言ってしまえば、クライアントサイドとは、あるWebページがあるとき、そのページを開いているPCやスマートフォン側の事を指し、またサーバーサイドというのは、クライアントサイドの要求した処理をおこなうために一度インターネットに接続し、その先で実際に処理し結果を返してくれるコンピュータ側の事を指します。

JavaScriptはもともと、クライアントサイドの言語として開発されたため、開発の際はサーバーに関する環境構築をすることなく、ブラウザ(Microsoft EdgeやChrome、Safariなど)とテキストエディタさえあれば開発を進める事ができるという点が強みでもあります。そのため、環境構築でつまづいてしまう初心者エンジニアにも易しい言語であると言えるでしょう。更に今では、サーバーサイドとしても開発をおこなう事ができる言語になったため、プログラミングを学習し始めた方でもまずは簡単なクライアントサーバーからはじまり、その後に同じ言語でサーバーサイド側の経験も積むことで、最終的にはクライアントサイドとサーバーサイド、両方の開発を経験することができるというメリットがあります。

また実際のWebページの動きから見てみると、サーバーサイドはいわゆる何かのアクションをするごとにサーバーという”処理”役を担うコンピューター側へ命令を送り、サーバーの処理した結果を得るという流れになってしまうため、何かしらのアクション時には若干のタイムラグが生じてしまいます。一方で、JavaScriptのようなクライアントサイドでは、サーバーを通すこと無く、該当サイトを開いているWebブラウザ自身で処理をおこなうため、タイムラグを起こしにくい、「即時性」のあるものを作ることができるというのがJavaScriptの特徴であり、強みでもあります。

JavaScriptってどんなことができるの?

先述した通り、JavaScriptは主にWebページに動きをつけることを得意とした言語であり、今ではほとんどのWebページにJavaScriptが使われています。実際の開発における制御はどういったものがあるのでしょうか。

・HTML制御

一度読み込んだページに対して、何らかのクリック操作や一定時間の経過などに伴い、表示されている文字を変える事ができます。サーバーサイド言語での開発の場合、一度読み込んだページの文字を追加したり変更したりという処理をするには毎度サーバーを通す必要がありますが、JavaScriptは毎回わざわざサーバーに変更処理を通すことをせずに、開いたページのままの状態で文字に変化を付けることができるので、いちいちページが切り替わることがありません。

・CSS制御

HTML制御と同じように、一度開いたページのままの状態からなんらかのアクションに伴って変更できるものとして、ページのデザイン面(背景色や文字の色など)に変化を付けることができる制御です。

・フォーム制御

例えば買い物かごのページを開いているとして、商品の個数を追加するごとに即時的に合計額を反映させてくれるようなものであったり、なんらかの入力フォームに入力した際、適していない場合は「〇〇(記号)を含むことはできません」や、適している場合は「OK」といったメッセージを、サーバーを通すことなくリアルタイムで表示させることができます。

・エフェクト制御

身近なもので、何気なく開いているような会社のホームページや、アーティスト、イベントなどの公式ページを思い出してみてください。端にある「メニュー」アイコンをクリックしたりマウスを合わせるだけで、メニューの項目が上からスライドして降りてくるようにできたり、一定の時間が経過すると画像が自動的に切り替わることで複数の画像を表示できたり、といったような、ダイナミックな動きや演出を実現する事ができます。

最後に

いかがでしたでしょうか。そもそもJavaScriptとJavaは違うものだという事と、JavaScriptがどういった言語であるのかが見えてきたのではないでしょうか。Javaと比べると目に見える動きを開発できることもあり、やりがいを持ちやすい言語になるのではないでしょうか。また近年でもまだまだ注目されており、初心者にも比較的学習のしやすい言語とされているため、この記事を読んで少しでも参考にしていただければ幸いです。最後まで読んでいただきありがとうございました。