JavaScriptとは何なのか!初心者向けに徹底解説

初心者向けにJavaScriptとは何なのか詳しく解説しています。JavaScriptとJavaとの違いやJavaScriptが人気の理由、そして学習方法を紹介。これからフロントエンドエンジニアを目指す人は必見でしょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が1,000以上あります。

本稿は、Coding Dojoブログ記事を、Coding Dojo Blogより了解を得て日本語翻訳し掲載した記事になります。

 

目次

 

JavaScriptとは

多くの人は知らないことですが、私たちはみんなJavaScriptのヘビーユーザーで、1日に何十回も使っています。デスクトップのコンピューター、携帯電話から、スマートテレビ、最新モデルの車に至るまで、ほぼ全てのデバイスにJavaScriptが相当使われています。私たちがウェブ検索をしたりコンピュータに囲まれた生活を送る上で、役立っています。

このようにJavaScriptはあらゆる場所に浸透していますが、あなたはそれでもまだ「JavaScriptとは結局何なのだろう?」と疑問に思うかもしれません。なお、JavaScriptはJavaとは全く別の言語です。

javascript

JavaScriptはプログラミング言語であり、ユーザー側のWebブラウザと、Webサイトまたはウェブサービスの相互間のやりとりを、円滑にするために使われています。

実質的に、私たちがブラウジングで体験できることのすべては、ブラウザの中で使われているJavaScriptの処理によるものです。

Webサイトの外観のデザインや使い心地から、Netflixのサイトに表示される映画の題名のようなサイト内の情報表示に至るまで、JavaScriptが使われています。

 

[PR] プログラミングで挫折しない学習方法を動画で公開中

JavaScriptの実行される一般的な場面

JavaScriptは、Webページを構成する全てのオブジェクトを操作できるため、魔法のようなことを実行できます。しかしながら、JavaScriptの実行される一般的な場面はあまりにも多いため、多くの人は、JavaScriptが隠れて使われていることにすら気づかないのです。

JavaScriptの実行される一般的な場面としては例えば次のようなものがあります。:

  • ユーザーが適切な形式でメールアドレスをフォームに入力したかどうかをチェックする。
  • Google.comのページをロードするとき、テキストカーソルを検索ボックスに自動で出現させる。
  • Webページ全体をリロードしなくても、一部分だけロードすることを可能とするので、例えば映画のWebサイトで、次回のシリーズのリスト表示の部分だけロードしたいときなどに役立つ。

最も単純なレベルでは、JavaScriptのコードは、ブラウザがWebページにアクセスしたときにダウンロードされます。ページのロードが完了して画面上に表示されると、JavaScriptのコードが実行されて、次に実行するべき動作がもしあればブラウザに指示します。

テキストカーソルを検索ボックスに表示するなどの動作がすぐに実行されない場合、JavaScriptのコードはアイドリング状態になり、特定の「イベント」の発生を待つことになります。「イベント」が発生した時点で、JavaScriptのコードが発動され、動作を実行します。

 

例として、登録用のフォームでパスワード欄に入力しているときには、JavaScriptはユーザーがパスワード欄に文字を入力し始める瞬間を待っています。Webサイトがパスワードに使える有効文字として認めていない文字を、ユーザーが入力しようとする場合には、JavaScriptのコードはすぐにこの問題に気づいて、パスワード欄に小さな警告メッセージをポップアップで表示して、ユーザーに知らせます。

 

JavaScriptの強み

玄人のユーザーは、考えたり気づいたりしているかもしれませんが、パスワード欄に有効な文字が入力されたときの認証プロセスは、サーバー(:Webサイトのリモートホストとなるコンピュータ)によっても処理できるはずです。

ここにJavaScriptのテクノロジーの基本的な強みがあります。

つまりJavaScriptは、ユーザーの使っているデバイス上で、即時にタスクを処理することができるのです。通常の場合のように、Webサイトとサーバーで情報の送受信をするときに必要な時差はかかりません。

 

なぜJavaScriptは不可欠なテクノロジーなのか?

JavaScriptをWebサイトに導入するとそのサイトを運営している企業にとって強力なツールとなるということに加えて、JavaScriptはテクノロジーとしていかに不可欠なものであるかを、理解することが重要です。

この2つは、現在だけではなくて将来的にも重要な点になるでしょう。

JavaScriptとそのコーディングの始め方と使い方をしっかりと理解しておくことは、Webの技術や開発に興味のある人にとって最も重要なスキルです。

 

Node.js

近年、JavaScriptの技術を応用した数々のテクノロジーが出現しています。

Node.jsは、これらのテクノロジーの中で最も普及しているもので、GoogleのV8 JavaScriptエンジンを使って構築されたサーバーサイドのJavaScriptのライブラリです。Node.jsは強力なテクノロジーであるため、ここ数年で、Netflix、PayPal、Uberなど数多くの有名企業が自社の古いテクノロジーをNode.jsに変えているのです。

Node.jsの興味深いところは、これまでとは異なるJavaScriptの実行を可能とする点です。

Node.jsによって、JavaScriptはユーザーのコンピュータ上でのやりとりを処理するというよりも、サーバーサイドで全てのタスクを処理するための中心的な言語として機能するようになっています。

 

JavaScriptの世界的な人気

現在、JavaScriptが世界中のデベロッパーの間で最も人気のあるプログラミング言語の1つであることは、大企業や有名なサービスでJavaScriptが広く利用されている事実だけではなくて、実質的にあらゆるサインとして示されています。

what-is-javascript

StackOverflowの報告 — エンジニア向けに仕事に関するアンケートを実施し、「2016年のデベロッパー報告」としてリリースしました。

その報告によると、フルスタックエンジニア(:クライアントサイドとサーバーサイドの両方に従事している開発者)の85%は、仕事でJavaScriptを使っていると回答しています。

 

人気テクノロジーのランキングで1位のJavaScriptの人気度は、2位のSQLより25%も高いものでした。Node.jsのようなサーバーサイドのテクノロジーが発展したことで、JavaScriptはバックエンドのエンジニアの間でも、1位の人気を博しています。

StackOverflowの担当編集者によると、「JavaScriptは地球上で最も広く使われているプログラミング言語です。」とのことです。

javascript-graph

画像:開発タイプごとに最も人気のあるテクノロジーのランキング「stackoverflow Developer Survey Results 2016」より

 

JavaScriptの学習方法

JavaScriptの人気の高さとパワーに興味を持って学習を深めたいと思っている人向けには、数多くのサイトやリソースがあります。

JavaScriptを少しかじることから学習をスタートできるでしょう。以下に、今すぐJavaScriptを学べるいくつかのサイトをご紹介します。

  • JavaScript.com Interactive Tutorial — 今すぐJavaScriptのコードを書き始めることができるような、シンプルでわかりやすい講座が提供されています。
  • Eloquent JavaScript Online Book — もしあなたが、学校のテストで詰め込み型の勉強を楽しめるタイプであったり、ページを読み進めながら順序立てられた章の情報を消化することが好きだとしたら、このオンラインの書籍が向いています。JavaScriptを操作するために必要な全ての基礎を教えてくれます。
  • CodinGame.com — この教育アプリは数多くの言語学習をユーザーに提供していますが、JavaScriptもその1つです。JavaScriptのコードを、ゲームの中の小さなプログラムを作りながら学ぶことができます。モンスターを倒したり、主人公を危険な洞穴でナビゲートする場面で、あなたの書いたコードの結果を見ることができます。
  • Mozilla Developer Network JavaScript Guide — 使う情報を目の前に広げておきたい、あるいは正に必要としているトピックについての情報を得たい人は、このMDNのJavaScriptガイドを活用しておけば、まず間違いないでしょう。
  • CodeSchool JavaScript Roadtrip — 洗練されていてゲーム的な要素もある、双方向型の講座です。JavaScriptの基礎の習得をメインとしながら、重要テーマについての短いビデオ講座も、学習が進む中でいくつか提供されています。

 

以上、JavaScriptについて詳しく説明しました。

入門向けのJavaScriptの学習サイトも紹介しているので、合わせてご覧ください。

[お知らせ]TechAcademyでは最短4週間でフロントエンドの技術が身につくフロントエンドオンラインブートキャンプを開催しています。JavaScriptを使ってリッチなWebサービスを作りたい方はぜひご覧ください。