JavaScript入門者はどうやって学ぶべきか?0からの独学勉強法

Java

JavaScriptを学ぼうと思っていますか?JavaScriptは、比較的とっつきやすい言語なので、初心者が初めて学ぶ言語としてもうってつけです。今日では、ほとんどのウェブサイトで使われているため、もっとも身近な言語とも言えるでしょう。学びやすい言語ですが、歴史的な経緯から言語仕様に問題を抱えており、初心者がハマりがちなポイントが少なくありません。とはいえ、正しい学習方法で、基礎からしっかり勉強していけば、スムーズに学習できるでしょう。

この記事では、

  • JavaScriptを使いこなしたい方
  • JavaScriptを勉強している方
  • プログラマーになりたい方

のために、JavaScriptの基礎知識と勉強方法についてお伝えしていきます。プログラミングに限りませんが、なにかを学習する時にはいかに挫折しないようにするかが重要です。間違った学習方法では、うまく進まずに挫折してしまうでしょう。正しい学習方法を知っておきましょう。

目次

  • JavaScriptってどんな言語なの?
  • 0からのJavaScript学習法
  • 独学?スクール?どっちがいいの?おすすめの勉強方法

JavaScriptってどんな言語なの?

はじめに、JavaScriptの特徴やできること、実際に使われているウェブサービスの代表例を紹介していきます。ここで、JavaScriptがどんなものか、全体像をつかんでおきましょう。

特徴

コンパイル不要

コンパイルとは、テキストで書いたプログラムを実行可能な形式に変換する処理です。CJavaC#などの言語は、コンパイルしてからでないと実行できません。一方、JavaScriptは、コンパイルしなくても実行できます。これは、JIT(Just In Time)コンパイルという方式を採用しているためで、実行エンジンの内部で動的にコンパイルが行われています。いちいちコンパイルする必要がないので、学習も容易になります。

なお、JavaScriptとJavaは、名前が似ていますが、歴史的な経緯から付けられただけで、言語的には何の関係もありません。とはいえ、同じC系の言語なため、シンタックス(構文)は似ています。

ブラウザで動作する

JavaScriptの主な動作環境は、ウェブブラウザの中です。あなたがいつも使っているブラウザの内部で日々動作しています。スマートフォンであっても同じです。ブラウザには、内部にJavaScriptエンジンが組み込まれており、ブラウザが読み込んだウェブページで使われているJavaScriptの実行を担当しています。

JavaScriptの規格はあるものの、それぞれのブラウザで異なるエンジンが使われているため、微妙に動作が異なります。このため、あるブラウザでは正常に動くのに、別のブラウザではエラーが起きる、といったことも起きます。こういった問題を回避するために、メジャーなブラウザ(IE、Chrome、Firefox、Safariなど)でクロスブラウザテストを行い、どのブラウザでも正常に動作するかチェックします。

動的型付け言語

CJavaC#などの言語では、変数を宣言する際に型を指定します(または暗黙的に型付けされる)。たとえば、整数を入れるならint型、小数値を入れるならdouble型といった具合です。JavaScriptは、変数に型がありません。変数の型を宣言する必要がないため、初心者には扱いやすいように思えます。しかし、実行時に型エラーが起きることも多く、型を意識していないと、思った通りの動作になりません。初心者がつまずきやすいポイントのひとつです。扱っている変数の型を常に意識するようにしましょう。

オブジェクト指向

JavaScriptは、マルチパラダイム言語ですが、メインはオブジェクト指向です。パラダイムとは、考え方(見方)のことで、プログラムの構造に大きな影響を及ぼします。オブジェクト指向は、オブジェクト(モノ)を主体にしたプログラミング手法です。たとえば、車というオブジェクト(クラス)を作り、そこに走る・止まるといった動作(メソッド)をもたせます。関連するプログラムをオブジェクトにまとめることで、扱いやすくしているわけです。オブジェクト指向の考え方は、実際にプログラミングしてみないことにはまず理解できません。学習していく中で徐々に理解が進むことでしょう。

JavaScriptのオブジェクト指向はやや特殊で、JavaやC#などのクラスベースのものと異なり、プロトタイプベースを採用しています。最初のうちは意識する必要はありませんが、中級者以上になるためには必須の概念です。

HTMLやCSSとの関係性が強い

JavaScriptは、インターネットとともに成長してきたため、HTMLCSSと強く関連しています。多くの場合、同時に使われるため、JavaScriptと一緒にHTMLやCSSの勉強もしておくべきでしょう。プログラミング言語ではないため、習得はそう難しくはありません。

できること

動的なウェブサイトの作成

現在、ほとんどのウェブサイトでJavaScriptが使われています。JavaScriptを使うのは、サイト上で動的な処理を実行するためです。ポップアップページの一部のみの更新などを実装して、ユーザーの利便性を高めています。また、サイト全体をJavaScriptで構築する場合もあります。ページ全体の読み込みをなくすことで、レスポンスが向上します。

サーバーサイドプログラムの作成

Node.jsをはじめとする、サーバーサイドプログラムでもJavaScriptが使われています。これにより、サーバークライアント(ブラウザ)で同じ言語を使った開発が可能になりました。違う言語を組み合わせるよりも生産性の向上が期待できます。

デスクトップアプリケーションの作成

モダンエディタのひとつにAtomがあります。このエディタは、フレームワークのElectronを使って、JavaScriptで作られています。いうなれば、自由にプログラミングできるブラウザのようなものです。アイディア次第で、さまざまなデスクトップアプリケーションが作成できます。

代表的なウェブサービス

Gmail

Gmailは、ページ全体がJavaScript(+HTML・CSS)で構成されているウェブアプリケーションです。使ってみると、ウェブページにもかかわらず、ページ全体の読み込みが発生していないのがお分かりになるでしょう。背後では、JavaScriptを使った非同期通信を実行しています。影の立役者ですね。

Amazon

Amazonでは、サイトの左上にメガドロップダウンメニューがあります。カテゴリの一覧が表示されるアレです。このメニューを含め、サイトの各所で動きのあるページを実現するためにJavaScriptが使われています。スライドスクロールポップアップなどが代表的な利用方法です。

0からのJavaScript学習法

次に、初心者のためにJavaScriptの学習方法をお伝えします。基礎から順番に学んでいきましょう。

構文を理解する

まずは、変数配列制御構文などの基本的な構文について一通り学びましょう。入門書を読むだけでなく、必ず自分で入力して実行してください。例のとおり入力して動作確認してから、自分なりにアレンジして再度実行する、といった方法がおすすめです。予想と違う結果になったら、なぜそうなるのか考えましょう。すべての基礎となる、もっとも重要な部分です。

簡単な処理を実装する

構文がある程度理解できたら、構文を組み合わせて簡単な処理を実装してみましょう。たとえば、コンソールから実行できるブラックジャックゲームなどです。モチベーションは大切なので、あなたが面白いと思えるものがよいでしょう。

アプリケーションを作る

一通りJavaScriptでのプログラミングができるようになったら、HTMLとCSSを使ったブラウザアプリケーションを作ってみましょう。たとえば、簡単な四則演算ができる計算機などです。味気ない文字だけのアプリケーションとは違い、画面が作れるようになると一気に面白くなりますよ。

独学?スクール?どっちがいいの?おすすめの勉強方法

最後に、おすすめの勉強方法を紹介します。選択肢としては、独学やスクールなどがあります。

プログラミング初心者の方の場合

プログラミング初心者の方は、いきなり独学から入るとはじめの段階で挫折しやすいです。そのため、まずはスクールに通って基礎を学ぶべきでしょう。基礎が理解できれば、その後は独学でも構いません。ネット上の情報はまとまりがなく、古い情報も多いため、最新の入門書を読むことをおすすめします。必ず自分で入力して実行してください。手を動かして考えることが上達の近道です。

すでに他の言語を使える方の場合

すでに他の言語が使える方は、JavaScriptを習得するのは容易でしょう。ネット上にある、言語仕様を読むだけで基礎は理解できると思います。わざわざスクールに通う必要はありません。後は、定番のフレームワークライブラリを使って、お好きなアプリケーションを作ってみるのがいいでしょう。極めたい方は、上級者向けの分厚い本を読破してみましょう。

MDNをチェックしよう

ネット上の情報を探しているなら、Firefoxの開発元MozillaのサイトMDNがおすすめ。JavaScriptの基礎から応用まで、非常によくまとまっています。初心者から上級者までお世話になる優良サイトです。

参考:MDN – JavaScript

まとめ

JavaScriptは今日、非常にメジャーな言語となっており、ブラウザのみならず、サーバーサイドデスクトップアプリケーションにも使われるようになっています。JavaScriptをひとつ学習すれば、さまざまな用途に使えるでしょう。ブラウザさえあれば学習をはじめられますので、なにも用意しなくても大丈夫です。いますぐに勉強を始められます。

プログラミング初心者の方は、スクールを活用しつつ、独学での勉強を進めましょう。すでに他の言語をマスターしている方なら、独学だけでも大丈夫でしょう。自分に合った学習方法で勉強してください。また、JavaScriptはHTMLCSSと密接な関係を持っています。JavaScriptが一通り分かったら、HTMLとCSSの勉強も始めましょう。あなたはJavaScriptでなにを作りたいですか?

関連記事