JavaScriptとは?基本の書き方を初心者にわかりやすく解説

最終更新日:2024年4月18日

今なおコンテンツが増え続けるWebサイト。日常生活や業務の中で、なくてはならないメディアとしての地位を築いています。

今後も発展が見込まれるWebですが、その開発に欠かせないプログラミング言語がJavaScriptです。Webアプリの開発はクライアントサイドとサーバーサイドに大きく分かれます。クライアントサイドはPCやスマートフォンのブラウザ上で動くプログラムで、JavaScriptはその中でも最も人気があり、エンジニアのニーズも非常に高いです。

本記事では、JavaScriptとは何か、メリット・デメリット、基本的な文法、代表的なフレームワーク・ライブラリ、学習方法などについて詳しく解説しています。JavaScriptの習得は多くのエンジニアにとって有効なスキル向上の手段です。JavaScriptに興味がある方、習得を検討しているエンジニアにとって、効率的な学習の一助となれば幸いです。

今もらっている年収は高い?低い?

支援実績10年の登録者データを基にした エンジニア・クリエイター専門 年収診断 無料診断START

この記事のまとめ

  • JavaScriptとは、Webアプリ開発で使われれるプログラミング言語で、ほとんどのWebページで使用されている
  • JavaScriptはフレームワークやライブラリが幅広く、開発ではその利用スキルも求められる
  • JavaScriptに関連する求人数は多く、今後も高い将来性が期待できる

JavaScriptとは

JavaScript(ジャバスクリプト)とは、主にWebアプリ開発で使われるプログラミング言語です。Webページ上に動きをつけたり、ユーザーの操作に合わせて表示項目を変化させるなどWebブラウザ上での表現に特化しているのが特徴です。JavaScriptはクライアントサイドと呼ばれるブラウザ側のプログラムの作成に多く使われています。

ブラウザにはJavaScriptエンジンがあらかじめ組み込まれており、HTML上にコードを書くだけでJavaScriptを動かすことができます。

JavaScriptが開発された経緯

JavaScriptは1995年にNetscape Communications CorporationのBrendan Eich(ブレンダン・アイク)氏によって開発されました。開発当初はLiveScriptと呼ばれていましたが、当時プログラミング言語「Java」が人気だったため、人気に乗じてJavaScriptに改名したといわれています。

その後1997年にEcma Internationalに標準化を依頼し、 JavaScriptはECMAScriptとして標準化され、開発が進みました。その後も、機能追加や言語仕様の拡張が継続的に行われています。

現在ではWebの普及に伴って、ITエンジニアにも人気の高い言語です。人気の高さから多くのフレームワーク、ライブラリが開発され、機能を追加したTypeScriptなどの拡張言語も存在します。

今後もJavaScirptはWeb開発において必要不可欠な言語であることは変わりなく、プログラミング言語としての進化が続くと考えられます。

JavaScriptでできること

JavaScriptはWebのクライアントサイド向けの言語として開発されました。その後の拡張やライブラリ・フレームワークの発展により、利用可能な開発分野は広がり、主な開発用途としては下記の3つがあげられます。


  • ・Webのクライアントサイド開発

    ・Webアプリケーション(サーバーサイド)開発

    ・スマホアプリケーション開発


Webのクライアントサイドでは、JavaScriptはHTML上の表示を動的に変化させる、ブラウザ上での操作をコントロールする、画面の見た目の調整を行うなどの機能を実現します。

Webのサーバーサイドでは、Node.jsという実行環境を用いて従来別の言語で作られていたバックエンドの処理を構築することができます。

スマホアプリケーション開発においても、React Nativeなどのフレームワークを用いてネイティブアプリの作成が可能です。

Javaとの違い

Javaは、サンマイクロシステムズ社によって開発され、現在はOracle社が開発元となっている汎用的なプログラミング言語です。JavaとJavaScript、名称は似ていますがプログラミング言語としてはまったく別のものです。用途や実現できる機能も異なっています。名称については、先発のJavaの人気にあやかりJavaScriptが名前をよせたという経緯があるようです。

2つの言語の大きな違いの一つが動作環境です。JavaScriptはもともとWebのクライアント向けの言語で、主にブラウザ上で動作します。一方のJavaは汎用的言語であり、JVMという技術によりマルチプラットフォームに対応しているため、Linux/Windowsの各OSのサーバー、各種OSのPC、スマートフォン(android)、組み込みのマイコンなどで稼働するアプリケーションの作成が可能です。

また、2つの言語間では、コンパイラ言語とインタプリタ言語というプログラム実行に必要な準備も異なります。Javaはコンパイラ言語(正確にはコンパイラ言語とインタプリタ言語の特性を併せ持つ)、JavaScriptはインタプリタ言語に属します。コンパイラ言語は実行より前にコンパイルという機械語への翻訳作業を行うことで実行時に高速な処理を実現する仕組みです。インタプリタ言語はソースコードを一行ずつ翻訳しながら実行するため、動作を確認しながら開発するような場合に適しています。

JavaScriptの特徴

JavaScriptが人気を集めた理由として、ほかの言語にはない特徴を持つことがあります。たとえば、JavaScriptの代表的な特徴として「ブラウザさえあれば実行可能」「Webサイトに動きをつけられる」「ブラウザ上の操作に対応したコードの実行」「非同期処理ができる」などです。

以下では、JavaScriptの持つ特徴を詳しく紹介します。

ブラウザさえあれば実行可能

JavaScriptはブラウザ上で動くプログラミング言語です。ソースコードをテキストファイルとして作成すれば、あとはブラウザがあれば実行できるため、実行環境はPCが一台あればほぼそろいます。

プログラミングのための準備のハードルが低く、初心者でも始めやすいというメリットにも繋がっています。

Webサイトに動きをつけられる

JavaScriptは動的なWebサイト作成に特化した言語として登場しており、現在もその機能はほかの言語では代替しがたいものです。Webサイト上での表示変更など動的な処理を記述できるため、Webでの使いやすく見やすいインタフェース作成に大きな効果を発揮します。

ブラウザ上で動作を確認できることは、プログラミングの成果を目で見て確認しやすいため、学習モチベーションが保ちやすいことにもつながっています。

クリックやキーボード入力に応じたコードの実行が可能

ブラウザ上の見た目だけでなく、クリックやキーボード入力などのブラウザ上での操作に対応したプログラムを作成できます。Webの仕組みにおいて、クライアントサイドでの処理の幅を大きく拡張している特徴といえます。

非同期処理を行える

JavaScriptは非同期処理に対応したプログラムを実装しやすいことも特徴です。非同期処理とは、一つの処理を行いながら、別の処理も並行して実行することを意味しています。たとえば、ajax(非同期通信)という技術は、Webブラウザ上の表示を行いながらサーバーとの通信を行っており、多くのWebサイトで採用されています。

JavaScriptでできるWeb上の処理例

JavaScriptで実装されるブラウザ上の処理の具体例には、下記があげられます。

  • ・入力項目への入力内容のチェック

    ・入力項目チェック時のエラー項目の表示色変更

    ・ポップアップウィンドウの作成

    ・ブラウザ上でのドラッグアンドドロップによる操作

    ・一覧表示で最初に表示しきれない内容を随時取得して表示する

    ・各種のアニメーション表示

実際にJavaScriptが使われているサービス例

実際にJavaScriptが使われているサービスの具体例として、以下が挙げられます。

  • ・Google Map

    ・X(旧Twitter)

    ・Instagram

    ・Netflix

    ・メルカリ

Webブラウザで利用できる機能を持ったサービスであれば、ほとんどがJavaScriptを何らかの形で利用していると考えられます。なお、上記で挙げているサービスではネイティブアプリ版とブラウザ版が存在するものが多いですが、ブラウザ版が対象です。

JavaScriptのメリット・デメリット

これから習得する言語を選択する場合には、言語のメリット・デメリットを確認しておくことが重要です。メリット・デメリットを知ることで、自分の作りたいプログラムに適した言語かどうか、自分のキャリア形成に役立つかなどの判断基準となります。

ここでは、JavaScriptのメリット・デメリットについて解説します。

JavaScriptのメリット

JavaScriptのメリットとして、「フレームワーク・ライブラリが多い」「フロントエンド・サーバーエンド両方に対応」「情報が豊富」「デバイス・OSに依存しない」などが挙げられます。

以下では、JavaScriptのメリットについて詳しく解説します。ほかのプログラミング言語と比べどういった点が優れているのかみていきましょう。

優秀なフレームワーク・ライブラリが多い

JavaScriptには優秀なフレームワーク・ライブラリが多く存在しています。Web開発ではユーザーの要望や流行に従ってスピーディーに改良することが強く求められるため、フレームワーク・ライブラリによって開発が効率化できる点は大きな魅力です。とくに、jQuery、React、Angular、Vue.jsは多くの企業で使われています。

  • ・jQuery:DOM操作のコードを簡略的に書くためのフレームワークで、もっとも広く使われている

    ・React:UI構築のためのライブラリ

    ・Angular:UI構築に加え、開発に必要な機能を一通り揃えたフルスタックフレームワーク

    ・Vue.js:Angularをベースに、機能をシンプル化させたフレームワーク

フロントエンド・サーバサイド両方に対応できる

JavaScriptはブラウザ側で動かすことが多いですが、Node.jsという実行環境を使えばサーバ側でも動かすことが可能です。そのため、Webアプリ開発で使う言語をJavaScriptに統一でき、開発担当者の学習コストの削減、およびコード管理の簡略化が実現します。

ネット上に情報量が多い

JavaScriptは長年Web開発で使われている言語のため、ネット上に情報が多いこともメリットです。開発時に分からないことがあっても検索してすぐ解決でき、初心者にも使いやすい言語といえるでしょう。非公式であるライブラリの使い方なども多くのサイトで解説されています。

デバイス・OSに依存しない

JavaScriptはブラウザに組み込まれたエンジンによって動作します。そのため、実行の可否はデバイスやOSには依存しません。ただし、デバイスやOSによりブラウザの動作に違いがでる場合もあるため、システム開発では各種のデバイスやOSに対応してコードの作成、テストなどが行われています。

JavaScriptのデメリット

JavaScriptのデメリットとしては、「多言語に比べ処理速度が遅い」「ブラウザによって差が出る」「大規模開発にやや不向き」などがあります。多くのデメリットは、手軽に利用できるというメリットとトレードオフの関係であるため、取捨選択が必要です。

以下では、JavaScriptのデメリットについて詳しく解説します。メリットだけでなく、デメリットもあわせておさえておきましょう。

他言語に比べ処理速度が遅い

JavaScriptの実行方式は、命令を1つずつ機械語に翻訳するインタプリタ方式を取っています。1度に機械語に翻訳するコンパイル型方式を取る言語(C、C++など)に比べると、処理速度が遅くなってしまいます。そのため処理速度がシビアに求められるシステム開発とは、JavaScriptは相性が悪いです。

一方で、コンパイルが必要ないため実行結果を素早く確認できるメリットもあります。開発効率を上げなくてはいけないWeb開発においては、インタプリタ方式であるJavaScriptのほうが相性が良いといえます。

ブラウザによって挙動に差が出る

JavaScriptはデバイス・OSに関係なく動かせる一方で、ブラウザには影響を受けてしまいます。たとえば機能によって、ChromeとFirefoxで挙動が異なる場合があります。そのため、開発時には複数のブラウザで動作テストを行わなければならないため、注意が必要です。

大規模開発にはやや不向き

JavaScriptは大規模開発にはやや不向きといえます。大規模開発を行うと必然的にコードが長くなりますが、それはJavaScriptには長いコードを分かりやすく書ける機能が不足しているからです。また、コードのどこに何の処理が書かれているかを把握しにくくなるデメリットもあります。

この大規模開発に適さないデメリットを解消するためにJavaScriptを拡張してつくられた言語がTypeScriptです。TypeScriptは最終的にトランスパイルしてJavaScriptのソースコードを生成する仕組みでもあり、JavaScriptと共通する部分も多いためあわせて習得するのもおすすめです。

関連記事:TypeScriptとは?JavaScriptとの違いなどを解説

JavaScriptの基本の書き方

JavaScriptはWebのクライアントサイドで利用する場合、HTMLに関連付けてブラウザに読み込ませます。この際、下記の3つの箇所に記述することが可能です。

  • ・HTMLのscriptタグ内へ記述

    ・外部ファイルにJavaScriptのみを記載し、HTMLファイルから読み込む

    ・HTMLの各種タグのイベントハンドラへの記述

※タグの記述については、HTMLのバージョンによりプロパティなどが異なります。本項のスクリプトはサンプルのため、動作を保証するものではありません。

関連記事:HTMLとは?CSS、JavaScriptとの関係性もわかりやすく解説!

HTMLのscriptタグにJavaScriptに記述する

一つはHTMLのscriptタグにJavaScriptを記述する方法です。

HTMLはWeb上に画面を表示するためのマークアップ言語で、画面表示を行う要素をタグで記述していきます。その一要素としてscriptタグというタグがあり、この中にJavaScriptを記述することが可能です。scriptタグはHTML内の任意の箇所に記述できますが、ブラウザでの読み込み順序が処理に影響するため、記述箇所には注意が必要です。

近年では、下記の例のようにbodyタグの終了直前に記述するケースが増えています。

〈!DOCTYPE html〉
〈html〉
〈head〉
  略
  〈title〉タイトル〈/title〉
〈/head〉
〈body〉
  〈h1〉大見出し
  〈script〉
  // ここにJavaSciptを記述する
  〈/script〉
〈/body〉
〈/html〉

載してHTMLファイルから読み込む

もう一つが外部ファイルにJavaScriptを記述し、HTMLファイル内で読み込む方法です。

HTMLの中にJavaScriptを記述すると記述が煩雑になってしまうため、一定規模以上の開発では外部のファイルにJavaScriptを書き出すことが一般的です。記述したファイルは拡張子「.js」を付けたファイルとして保存します。

HTMLファイル内では、下記の記述でJavaScriptを読み込みます。

前略 〈script src="JavaScriptを記述したファイルのパス"〉〈/script〉 後略

イベントハンドラを記述する

HTMLの各種タグ内にイベントハンドラを記述することができ、その中にJavaScriptを記述することもできます。この記述方法はインラインイベントハンドラと呼ばれるものですが、イベントハンドラは別の記述方法が提供されており、記述が散逸しやすいことから近年ではあまり推奨されていません。利用シーンとしては、開発中の動作検証など簡易的な用途などに限定されます。

〈input type=”button” value=”OK” onClick=”ここにJavaScriptを記述できる”〉

JavaScriptの基本概念と文法

JavaScriptの基本概念や文法を紹介します。多くのプログラミング言語で採用されている基本文法からJavaScript特有の概念まで確認していきましょう。

  • ・変数とデータ型

    ・演算子と条件分岐

    ・ループと反復処理

    ・関数とスコープ

    ・オブジェクトとプロトタイプ継承

    ・イベントハンドリングとDOM操作

    ・非同期処理とPromise

    ・モジュール化とモジュールバンドラ

なお、JavaScriptはオブジェクト指向を採用したプログラミング言語ですが、ECMAScript2015以前のバージョンではObjectクラスを拡張することによりクラスを扱っていました。ECMAScript2015にて独自のクラスを定義できるようになった経緯がありますので、関連する部分については注意が必要です。

 

変数とデータ型

変数とは、値を保管する容器のようなものです。JavaScriptをはじめとしてプログラミング言語では、変数に値を代入(格納)することで、再利用やデータの保持ができます。

JavaScriptでは、変数の宣言の際にはvarやlet、constなどのキーワードを用いて変数宣言します。変数に代入できる値の種類は文字列や数字などです。このような値の種類をデータ型と言います。

演算子と条件分岐

JavaScriptでは、+や-などの演算子を使って文字列の編集や数値の演算処理を記述できます。たとえば、文字列同士を結合したり、2つの数値の減算結果を求めることが可能です。また、=や<>を用いて値の比較もできます。

JavaScriptではif文やswitch文などを使用して条件に応じた処理を記述できます。たとえば、2つの数値の合計が80以上の場合は「合格」、80未満の場合は「不合格」など条件によって表示する値を変更する際に比較と条件分岐を利用します。

ループと反復処理

JavaScriptでは、for文やwhile文を使用してループ処理や反復処理を記述できます。

while文を使用すると、一定の条件を満たすまで繰り返す処理を作成できます。たとえば「申込フォームの特定の値を入力するまで」など条件を満たすまでループ処理が続き、次の処理はそのあいだ実行されません。

for文は指定された回数だけ繰り返し処理を行います。たとえば、入力された値を5つ表示するなど同じ処理を複数回行いたい場合は、for文を使用して簡潔に記述できます。

関数とスコープ

JavaScriptでは複数の処理をまとめて関数(function)として定義することができ、後から呼び出すことができます。よく利用する処理の組み合わせを関数にまとめて記載しておくことで、効率的にプログラムを作成できます。また、関数内で定義された変数は、その関数内でのみ有効です。このように特定の範囲を「スコープ」と呼びます。

たとえば、Webサイトで複数のページに外部APIと連携するJavaScriptを実装したとします。この場合、外部APIと連携する処理をまとめて関数にしておくことで、コードの重複記述を避けることができ、可読性や保守性が向上します。

オブジェクトとプロトタイプ継承

複雑なデータ構造や機能を持つWebアプリケーション開発ではオブジェクト・プロトタイプ継承機能が役に立ちます。

オブジェクトとは、現実世界の「モノ」を複数の変数(フィールド)や処理(メソッド)により表現したものです。たとえば、オブジェクトHumanを定義したとします。オブジェクト Humanはname、ageなどの要素を持ち、各オブジェクト生成時に設定できます。

また、プロトタイプ継承とは、オブジェクトの持つ要素を継承して、新しいオブジェクトを作成する機能です。たとえば、先ほど作成したHumanを継承してStudentという生徒を表すオブジェクトを作成したとします。この場合、Studentは作成時点でname、ageと2つの要素を持っています。また、Student特有の要素で国語の点数を格納するjapanese、数学の点数を格納するmathなどの要素を追加可能です。オブジェクトStudentを定義することで、多くの生徒の点数を計算するプログラムを作成する際などで便利になります。

イベントハンドリングとDOM操作

イベントハンドリングとは、Webページ上においてユーザーの操作を検知し、操作に対する処理を実行する仕組みです。たとえば、ボタンがクリックされた際にアラートを表示する、マウスオーバーした際にメニューを表示する、一定幅分スクロールしたらポップアップメニューを表示する、などの動きを実現できます。

DOM操作とは、Webページ上のHTML要素をJavaScriptを用いて動的に変更する機能です。たとえば、申込みフォームの入力内容に応じて特定の設問を非表示にする、画面をクリックして画像を切り替える、テキストエリアに入力した値を表示するなどを実現できます。

非同期処理とPromise

非同期処理は時間のかかる処理を実装する際に便利な機能です。たとえば、外部サイトからAPIを経由して情報を取得するWebページを構築したとします。この場合、APIへのリクエストからデータの取得まで一定の時間がかかります。この処理を待っているあいだのローディングアニメーションを実装する際に非同期処理が使われます。

また、PromiseはJavaScriptにおける非同期処理実装のためのオブジェクトです。Promiseを活用することで簡単に非同期処理を実装できます。

モジュール化とモジュールバンドラ

モジュール化とは、大規模なJavaScriptでのアプリケーション開発においてコードを機能単位に分割し、コードの保守性や可読性を高める手法です。

また、モジュールハンドラとは、複数のモジュールを1つのJavaScriptファイルにまとめて、依存関係の解消やブラウザでの読み込み速度を高速化させる技術です。代表的なモジュールハンドラにはWebpackやRollupがあります。

たとえば、大規模なECサイトをJavaScriptで開発する場合、作成すべき機能に以下のようなものが挙げられます。

  • ・お気に入り機能

    ・カート機能

    ・ログイン機能

    ・ヘッダー表示機能

    ・外部連携機能

    ・料金計算機能

これらの機能はECサイトに必要な機能のごく一例ですが、さまざまな機能が必要なのが分かります。モジュール化ではそれぞれの機能を別のJavaScriptファイルで記述し、管理しやすい形態で作成します。モジュール化すると、カート機能の改善はカート機能のJavaScriptファイルだけの編集で完結させることが可能です。

 

JavaScriptの記述方法

JavaScriptによるコードの記述の仕方を紹介します。上記の、基本概念と文法で紹介した内容をプログラムとして記述する場合の例と考えてください。

なお、本項で記載するスクリプトはHTML外に記載して動作の確認を行っています。ブラウザのデバッグ機能(Chromeなら検証機能)などを用いて実際に動作させてみてください。

出力

JavaScriptでは、標準出力への文字列の出力はconsole.logを用います。

console.log("Hello World@levtech");

「()」の中身を変更することで出力内容を変えることができます。
また、画面上にポップアップによりメッセージを出力する場合にはalertが利用できます。

alert("Hello World@levtech");

コメントアウト

JavaScriptでのコメントアウトには2種類の記述方法があります。なお、コメントアウトとはプログラム中の記述の一部をコメントにして無効化することです。

一つ目の記述方法は「//」を使ったコメントです。プログラム内の「//」を記述すると、以降の内容は改行するまでコメントとして扱われます。

console.log("Hello World@levtech"); //Hello World@levtechを出力する。


もう一つのコメントの書き方には「/*」と「*/」を利用する方法です。JavaScriptでは「/*」と「*/」のあいだの記述はコメントとして扱われます。「//」によるコメントとの大きな違いは、「/*」と「*/」のあいだに改行を含むことができ、複数行を一度にコメントアウトすることができることです。

console.log("Hello World@levtech1");
/*
console.log("Hello World@levtech2");
console.log("Hello World@levtech3");
*/
console.log("Hello World@levtech4");
console.log("Hello World@levtech5");


上記では、「Hello World@levtech2」「Hello World@levtech3」の出力はコメントアウトされているため出力されません。

なお、「/*」と「*/」の利用には注意が必要です。コメントの開始を意味する「/*」を記述後、コメントの終了を意味する「*/」が記述されるまでは全てコメントとして扱われます。このため、コメントの終了を意味する「*/」を書き忘れた場合には、予期せぬ部分までコメントアウトされてしまい不具合の原因となってしまいます。

文字列

JavaScriptで文字列リテラルを扱う場合には、文字列を「'」または「"」で囲みます。

console.log('Hello World@levtech 文字列(シングルコーテーション)');
console.log("Hello World@levtech 文字列(ダブルコーテーション)");


また、文字列の結合は「+」記号を用いて行うことができます。

console.log('文字列を' + '★' + '結合します');

数値

JavaScriptでは、整数および小数を数値として扱うことができます。ただし、浮動小数点と呼ばれるという規格に沿っており、小数の演算では誤差が発生する可能性があります(内部的には2進数で値を保持しているため)。

console.log(1+3); //整数値の演算
console.log(1+3.1); //整数値と小数値の演算
console.log(1+3.3001); //出力結果は期待通りにならず、「4.3001000000000005」となった


もし、誤差を発生させたくない場合には、整数に置き換えて計算するか、計算のためのライブラリを利用することで回避が可能です。

変数

JavaScriptも一般的なプログラミング言語と同様に変数を利用することができます。変数とは、プログラムの中で使う値を格納するための器です。変数を利用することで値を保持し、後続の処理などで利用することが可能となります。また、変数に値を設定することを代入と呼びます。

変数を利用する場合には、宣言が必要となります。変数を宣言するために利用できるキーワードとして、「const」、「let」、「var」の3種類があります。

「const」を使って宣言した変数には、宣言時に一度きりのみ値を設定できます。また、constで変数を宣言する場合は、必ず値(初期値)を設定する必要があります。これを定数と呼びます。下記の例では、SITE_NAMEという名前の定数を宣言し、値には「levtech」という文字列を設定しています。

const SITE_NAME = "levtech";


「let」や「var」を使って変数を宣言することができます。宣言時に値を設定することは任意です。また、letやvarで宣言した変数は、後で何度でも値を設定しなおすことができます。

let subtitle1 = "study JavaScript"; //初期値を設定
var subtitle2 = "study JavaScript hard!"; //初期値を設定

console.log(subtitle1);
console.log(subtitle2);

subtitle1 = "study English"; //値を再度代入
subtitle2 = "study English hard!"; //値を再度代入

console.log(subtitle1);
console.log(subtitle2);


なお、varとletの違いには、varは同じ名前で変数が再度定義できること、巻き上げと呼ばれる有効範囲に関する問題があります。letはvarの問題点を改善するために後から追加されたキーワードです。既存コードの改修などでない場合には、letを使うと覚えておくと良いでしょう。

条件分岐

条件分岐の最も基本となるのはif文です。if文では、「()」の中の条件を満たす場合には、ifの後ろの「{}」の中の処理を行います。また、if文にはelse文やelse if文というバリエーションもあります。elseはifの「()」の条件が満たされない場合、else ifはifの「()」の条件が満たされずelse ifの「()」の条件が満たされる場合、後続の「{}」の中の処理を行います。

let age = 10; //初期値を設定
//年齢が18歳未満なら
if(age < 18){
console.log("未成年です。");
//上記の条件を満たさない場合
}else{
console.log("成人しています。");
}


条件分岐にはほかにもswitch文という構文もあります。switchの後ろに条件の一部(変数など)を記載し、caseにより分岐を記載できます。全てのcaseに該当しない場合には、defaultに分岐します。また、breakを記載することで分岐の処理から抜けます。応用的にさらに複雑な分岐を記載することも可能です。

let month = 3;
switch(month){
case 1:
console.log("January");
break;
case 2:
console.log("February");
break;
case 3:
console.log("March");
break;
case 4:
console.log("April");
break;
case 5:
console.log("May");
break;
case 6:
console.log("June");
break;
case 7:
console.log("July");
break;
case 8:
console.log("August");
break;
case 9:
console.log("September");
break;
case 10:
console.log("January");
break;
case 11:
console.log("November");
break;
case 12:
console.log("December");
break;
default:
console.log("not found");
break;
}

JavaScriptを活用した主要なフレームワーク・ライブラリ

JavaScriptはその人気と可読性の高さから複数のフレームワーク・ライブラリの開発が進んでいます。ここからはJavaScriptの主要なフレームワーク・ライブラリを5つ紹介します。

  • ・React

    ・Angular

    ・Vue.js

    ・Node.js

    ・jQuery

フレームワークやライブラリを活用すると、効率的な開発が可能です。JavaScriptの習得とあわせて覚えると良いでしょう。

 

React(リアクト)

Reactとは、meta platforms(旧Facebook)が開発したJavaScriptライブラリです。UIを構築する際に仮想DOMを採用しています。そのため、DOMの変更数が減少し、高速なレンダリングが可能です。また、Reactはコンポーネント指向を採用しています。コンポーネントとは、独立した部品のことです。

たとえば、複数ページにプロフィールカードを表示したい場合、プロフィール用のコンポーネントを作成し、各ページに埋め込むことで表示できます。コンポーネント指向を採用することで、各ページの記述量が減り、またプロフィールを更新する箇所がコンポーネント1箇所のみになります。結果として、再利用性や保守性が高まり、開発効率向上が期待できます。

関連記事:Reactとは?特徴やできることをわかりやすく解説

Angular(アンギュラー)

Angularとは、Googleが開発したオープンソースのJavaScriptフレームワークです。Webアプリ開発だけでなく、モバイルアプリケーション開発にも利用されます。双方向データバインディングやディレクティブサービス機能を簡単に実装でき、大規模な開発で採用されることが多いです。

Vue.js(ビュー)

Vue.jsとはJavaScriptフレームワークでReactやAngularより後に開発されました。ReactとAngularの良いところを取り入れています。具体的には、仮想DOMやコンポーネント指向などです。また、記述方法がシンプルなため、Reactなどと比べて学習難易度が低く、可読性が高い傾向にあります。

関連記事:Vue.jsでできること|メリットやデメリットについても解説

Node.js(ノード)

Node.jsとは、サーバーサイドでJavaScriptを実行する環境を構築するプラットフォームです。本来JavaScriptは画面に動きをつけるなどのフロントエンド向けの言語ですが、その人気からサーバーサイドの処理も記述できるようにするため開発されました。

Node.jsを活用することでJavaScriptの知識のみでWebアプリケーションやサービスを構築できます。また、大量のリクエストを同時に処理できるため、スケーラビリティに長けています。このような特徴を持つため、Node.jsはWebアプリケーション開発において高い人気を誇っています。

Node.jsはパッケージ管理ツール「npm」と共に提供されています。npmとは、前述したライブラリやフレームワークをダウンロードする際に使用するツールです。

関連記事:Node.jsとは?メリット・デメリットやできることを解説

jQuery(ジェイクエリー)

jQueryとは、最も有名なJavaScriptライブラリの一つです。クロスブラウザ対応のDOM操作や非同期通信を簡単に実装できます。また、DOMの指定方法が簡潔、豊富なプラグインの提供、ドキュメントが充実していることなどから、初心者も取り組み易いライブラリといえます。

関連記事:JavaScriptとjQueryの違いとは?特徴・技術的な違い・使い分けなどを解説

JavaScriptの効率的な学習方法

JavaScriptの習得は、Web業界や関連する職種へ転職する際に役立ちます。しかし、JavaScriptはできることが徐々に増えていった結果、学習する範囲が拡大し、複数の記述方法がある中で適切なものを選択する必要性などが発生しています。幅広い情報の中で、自分に合った学習方法を見つけましょう。
本項では、JavaScriptの効率的な学習方法を解説します。

関連記事:
JavaScriptの勉強方法は?初級~中級者向けサイト14選を紹介
未経験からJavaScriptエンジニアになるには?独学の方法も解説

オンライン講座などでJavaScriptの基礎を学ぶ

YouTubeやオンライン学習サイトなど、Web上にはJavaScriptの基礎を学べるさまざまなコンテンツが存在しています。特に有料の講座は教材の説明がわかりやすいうえに、イラストや図も豊富で初心者でも理解しやすいです。また、練習問題も掲載されており、実際に手を動かしながら学べます。

書籍・MDNのリファレンスで知識を補強する

基礎を学んだら、書籍で知識を補強しましょう。書籍には学習サイトでは網羅しきれていないJavaScriptの機能の解説も含まれています。

多くの書籍にはサンプルコードも掲載されていますので、実際にコードを書き写して、ブラウザ上で動かしてみましょう。サンプルコード通りの記載で実行結果が確認できたら、コードの一部分を変更して実行結果を変化させてみると理解が深まります。もし、変更した結果エラーが起こった場合は、MDNのリファレンスなども参考にどこに問題があるのか調べてみましょう。これを繰り返すことで、JavaScriptに関する幅広い知識を得られ、中級者へ近づけます。

おすすめのJavaScriptに関する書籍には『JavaScript[完全]入門』(著:柳井政和、出版:SBクリエイティブ)があげられます。実践レベルまでスキルを引き上げられる良書です。ProgateなどのWebサービスで基礎を学んだ後、知識を体系的に整理するのに効果的です。

JavaScriptフレームワークを学ぶ

続いて、JavaScriptフレームワークを学びましょう。多くのWeb開発企業ではフレームワークが使われています。そのため、フレームワークの経験があったほうが応募できる求人が増えます。初心者の場合、機能がシンプルで扱いやすいVue.jsから勉強するのが良いでしょう。

おすすめのVue.jsに関する書籍には『動かして学ぶ!Vue.js開発入門 』(NEXT ONE) (著:森巧尚、出版:翔泳社)があげられます。操作の手順が画像で丁寧に解説されており、フレームワークをはじめて使う人でも読みやすい一冊となっています。

Webサイトを実際に作ってみる

ある程度JavaScriptの基礎やフレームワークの使い方を習得したら、JavaScriptを組み込んだWebサイトを作ってみましょう。ただし、いきなり掲示板やSNSなどの複雑な機能を作るのは、サーバーサイドに関する知識も必要となるため大変です。最初は電卓や文字数カウンタなど、ブラウザで使える簡単なツールなどを作るのが良いでしょう。

効率的にJavaScriptを身につけるためのロードマップ

JavaScriptの知識やスキルを身につける際に、関連技術も含めて習得するためには、下記のステップを踏むと良いでしょう。いずれのステップでも、コードを記述してブラウザで動作させながら学習を行うことで理解度を深めます。

  • ・HTML・CSSの記述の習得

    ・シンプルなWebページの作成

    ・JavaScriptの文法および基礎構文の習得

    ・JavaScriptをWebページに組み込み動作させる

    ・jQueryなどのライブラリの活用

    ・フレームワークを利用したWebサイトの構築

JavaScriptに関するよくある質問

JavaScriptはWebシステムの開発において、非常に人気の高いプログラミング言語です。そのため、習得したい人も多く存在します。

JavaScriptに興味がある、習得したい方の中では、JavaScriptの活用場面やできることについて疑問を持つ方が多いようです。

以下では、JavaScriptに関するよくある質問と回答をまとめました。JavaScriptを学習する検討材料となれば幸いです。

Q1. JavaScriptはどんなときに使う言語ですか?

JavaScriptはWebページに動きをつける際に使用されます。たとえば、特定の操作に合わせてポップアップウィンドウを表示する、カルーセルなど時間経過で動く要素を作成する際に必須です。

そのほかにも、Webのサーバーサイド処理やスマホアプリの開発にも利用されます。

Q2. JavaScriptを使うと何ができますか?

JavaScriptを使うと以下のようなことができます。

  • ・Webのクライアントサイド開発

    ・Webアプリケーション(サーバーサイド)開発

    ・スマホアプリケーション開発

ほとんどのWebページでJavaScriptを使用しているので、意識してWebページを見てみるとスキル向上に役立ちます。

 

まとめ

JavaScriptはWebサイトに動きをつけたり、表示の変更を行うために開発されたプログラミング言語です。Webブラウザ上で動作し、クライアントサイド開発における主要言語といえます。近年では、言語仕様の拡張が行われ、サーバーサイド処理やスマホアプリの開発にも利用されています。

JavaScriptの特徴の一つに、ライブラリやフレームワークの充実があります。人気の高さからさまざまなライブラリやフレームワークが開発され、プログラミングの生産性と品質向上を目的に、JavaScriptでのアプリケーション開発プロジェクトではいずれかのフレームワークが採用されることが一般的です。

JavaScriptはWeb上に情報が多数存在しており、環境の構築も容易なため、学習に取り組むためのハードルが低い言語でもあります。特にWeb業界を目指す場合には、ぜひとも習得しておきたい言語です。

Webサイトは今後も増加し続けると想定され、Webサイトの構築に欠かせないJavaScriptのスキルを持ったエンジニアの需要も高いと考えられます。学習のための情報も充実しており、すぐにでも習得に取り組むことが可能です。

JavaScriptの求人・転職情報>

ITエンジニアの転職ならレバテックキャリア

レバテックキャリアはIT・Web業界のエンジニア職を専門とする転職エージェントです。最新の技術情報や業界動向に精通しており、現状は転職のご意思がない場合でも、ご相談いただければ客観的な市場価値や市場動向をお伝えし、あなたの「選択肢」を広げるお手伝いをいたします。

「将来に向けた漠然とした不安がある」「特定のエンジニア職に興味がある」など、ご自身のキャリアに何らかの悩みを抱えている方は、ぜひ無料のオンライン個別相談会にお申し込みください。業界知識が豊富なキャリアアドバイザーが、一対一でさまざまなご質問に対応させていただきます。

「個別相談会」に申し込む

転職支援サービスに申し込む
※転職活動を強制することはございません。

レバテックキャリアのサービスについて

この記事の監修

レバテックキャリア編集部

レバテックキャリアは、IT/Web業界のエンジニア・クリエイター向けに特化した転職エージェントです。当メディアでは、エンジニア・クリエイターの転職に役立つノウハウから、日々のスキルアップや業務に活かせる情報まで、幅広いコンテンツを発信しています。

プロのアドバイザーがあなたのお悩みや疑問にお答えします

- 転職個別相談会開催中 -

相談内容を選択してください

※転職活動や求人への応募を強制することはありません

関連する記事

人気の求人特集

内定率が高い

JavaScriptの求人・転職一覧

今もらっている年収は高い?低い?

簡単60秒 エンジニア・クリエイター専門 年収診断 無料診断START ×