JavaScript(ジャバスクリプト)は、プログラミング言語の一種です。名前は聞いたことがあっても「実際に、どういうことに使われているのか?」「JavaScriptは何が得意でどういうことが実現できるのか?」ということまでは、あまり知られていないのではないでしょうか?特に多いのが「Javaが得意な人は、JavaScriptを使った仕事もできる」という誤った認識です。
JavaはJavaScriptと同じプログラミング言語の一種ですが、JavaScriptとはまったくの別物です。では、具体的にどのような違いがあるのでしょうか?
JavaScriptの詳しい説明も交えながら、JavaとJavaScriptの違いについてまとめてみました。
JavaScriptとは?
JavaScriptは、Webブラウザ上で動作するプログラミング言語です。
HTMLとCSSで構築されたWebサイトに動きを加えたり、さまざまなWebサービスを実現したりできます。
例えば、Webページに掲載されたたくさんの画像を横にスライドさせながら表示したり、お問合せフォームに入力された項目をチェックしたり、エラーメッセージを表示させたりすることも可能です。
他にも、ECサイトで商品を選ぶ際に使われるショッピングカートや料金を試算するシステムもJavaScriptで設計されていることがあります。
このように、ブラウザが動くためにHTMLやCSSに「指示出し」する役割を持つプログラミング言語なのです。あまり意識していなくても、私たちは普段の生活のさまざまな場面でJavaScriptを利用しています。
JavaScriptのON/OFFの切り替え
CSSやチェックボックスでも可能ですが、JavaScriptを使えば、ボタンのON/OFFの切り替えも可能となります。
JavaScriptは汎用性の高い開発言語
Webページに動きを加えるという役割以外に、JavaScriptを使ってできることを簡単に確認してみましょう。リアルタイムで動作可能な「チャット」や「為替のチャート」など、さまざまなWebアプリを開発できることもJavaScriptの魅力の1つです。
もう少し視野を広げてみると、スマホアプリやゲームもJavaScriptで作ることができます。パソコンだけでなく、iPhone・iPadなどさまざまなデバイスが活用される時代にJavaScriptのような汎用性の高い開発言語はとても魅力的です。
Java言語とは?
続いて、JavaScriptとよく混同されたり、間違えられたりしがちな、Javaについてを解説します。それぞれの違いとはどのようなものなのでしょうか。
JavaとJavaScriptの大きな違い
JavaScriptをさまざまなデバイスを利用する私たちクライアント側で活躍するプログラミング言語と表現すると、Javaは、コンピューターやサーバー上で活躍するプログラミング言語と表現することができます。
また、Javaはオブジェクト指向プログラミング言語であるのに対し、JavaScriptはオブジェクト指向スクリプト言語です。スクリプト言語とは、プログラムの記述や実行が容易なプログラミング言語を指します。
その他の違いとしては、Javaのプログラムはソースファイルをコンパイルし、実行ファイルを実行することでプログラムを走らせることが可能です。一方、JavaScriptのプログラムは単体で動作させることができません。
JavaScriptのプログラムを動かすためにはHTMLという土台を必要とします。JavaScriptによる動きのあるWebページを実現する場合、HTMLファイル内にプログラムを書く、もしくはHTMLファイルの外部からプログラムを読み込ませなくてはならないのです。
JavaScriptの仕組み
JavaScriptがどのように機能しているのかの仕組みをかんたんにまとめます。
あなたがWebサイトを閲覧するときに使用するブラウザは、ユーザのリクエストをサーバーに送信し、サーバーが返すレスポンスを解析して、あるWebページとして表示しています。
Webブラウザは受け取ったデータに埋め込まれているマークアップされた情報を元に、ユーザの画面にテキストを表示し、レイアウトを整えます。
JavaScriptのプログラムはテキストで記述され、HTML文書に埋め込まれます。そして、HTMLと同時にブラウザに送られ、受信したデータの行からWebブラウザ上で実行されます。
以上が、JavaScriptの仕組みです。
HTMLとCSSに指示を出して、Webサイトに動きをつけられる
前述したように、JavaScriptは、HTMLやCSSに指示を出し、ボタンやメニューアニメーションをつけられるのが大きな特長です。
こういった挙動ができるようになることで、Webサイトを見ているユーザーがより魅力的にサイトのコンテンツを閲覧できたり、ECサイトであれば購買につながりやすいような動きがつけられたりできるようになります。
ボタンやメニューだけでなく、ある操作をした際にポップアップを出せたり、スライダーを設定して画像を自動で切り替えられたりと、サイトのUIを大きく向上させることができます。
非同期での通信ができる
JavaScriptを使えば、「Ajax」と呼ばれるページを移動しなくてもデータを取得できたり、表示したりできる非同期通信が可能になります。
最もわかりやすい例が、みなさんも使ったことあるであろう地図のサービス「Google Map」です。画面の中の地図を動かせば、次々と画面が表示されますよね。こちらの処理にJavaScriptが使用されています。
Webブラウザ上で動作するアプリサービスを開発できる
「アプリ」と聞くと、スマホアプリを想像する方が多いかもしれませんが、Webブラウザ上で動くアプリケーションもありますよね。
JavaScriptを用いて、RubyやPythonなどのプログラミング言語と組み合わせることで、スマホアプリなどのネイティブアプリの開発知識がなかったとしても、アプリ開発ができるようになります。
また、ゲーム開発ソフトウェアであるUnityもJavaScriptを採用しており、JavaScriptの技術を磨けばより本格的なゲーム開発に携わることもできるでしょう。
サーバー側でも動きをつけられる
JavaScriptはブラウザだけでなく、サーバー側でも動きをつけられます。Node.jsというJavaScriptのプログラミング言語を使うことでこれが可能となります。
同じ言語を使って、ブラウザ、サーバーともにコーディングできると、プログラムの相性もよくなり、一石二鳥というわけです。
JavaScriptを使用する具体的なシーン
ポップアップウィンドウの自動処理
Webサイト上にポップアップを表示する自動処理はJavaScriptが使用されています。
別ページに遷移しなくても同じページ内で新たな引き付けるような情報を表示できるのは、Webサイト上の顧客の態度変容を促す上で重要です。
カーソルをあわせることでの一覧表示
メニューバーなどあるボタンにマウスのカーソルをあわせることで関連項目が一覧表示できる処理はJavaScriptで実現されます。
サイト上をスッキリさせたり、ユーザーにサイト内の構造を理解しやすくするのにも役立ちます。
JavaScriptの書き方【基本編】
それでは、最もシンプルなJavaScriptの記述方法をまとめていきます。
JavaScriptには、HTMLファイルのscriptタグ内に記述して読み込む方法と、外部ファイルとして読み込む方法がありますが、今回は前者の方法で説明します。
テキストファイルを作成する
まずは、Windowsのメモ帳機能や、「Visual Studio Code」「Atom」「Sublime Text」などのテキストエディタツールを用いて、テキストファイルをデスクトップ上に作成し、保存しましょう。こちらをもとに記述していきます。
コードを記述する
続いて、用意したテキストファイルに実際にコーディングをしていきます。こちらの記事ではJavaScriptがどのようなものなのかを体感してもらうのが目的なので、まずは、コピー&ペーストで大丈夫です。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p>Hello Hollywood</p>
<script>
alert("Hello!");
</script>
</body>
</html>
こちらの中の
<script>
alert("Hello!");
</script>
の部分がJavaScriptの箇所です。それ以外はHTMLとなります。このように、<script></script>で挟むことで指示出しをするのがJavaScriptの基本的な記述方法です。
“Hello”の箇所は、実行した際に返ってくる任意の文字列を入力しています。
HTML形式でファイルを保存し、ブラウザでファイルを開く
コードの記述が完了したら、ファイルを保存します。ファイル形式を「テキストファイル」から「すべてのファイル」に変更し、「hello!.html」というファイル名で保存しましょう。
そして、デスクトップに保存したファイルを右クリックし、Google Chromeなど任意のブラウザを選択し、ファイルを開きます。
ここで、ポップアップが表示されたら作業は完了。これが、最もかんたんなJavaScriptの記述です。
HTMLページにJavaScriptを追加する方法
前述したように、JavaScriptには、HTMLページ内に追加する方法と、外部ファイルとして読み込む方法の2パターンがあります。
ページ内部に直接書き込む場合は、読み込みが速いメリットがある一方でHTMLページとJavaScriptが混在してしまい、保守の観点だと外部ファイル読み込みには劣ります。
外部ファイルとして読み込む場合は、ファイルサイズによっては読み込みが遅くなる可能性はありますが、HTMLとJavaScriptを別々で管理でき、関数の使いまわしもしやすくなります。
一般的には、外部ファイルとして読み込む方法が多いです。
内部のJavaScriptの場合
前述した、JavaScriptの書き方【基本編】をご覧ください。
外部のJavaScriptの場合
先ほど作成した、「hello!.html」をメモ帳やテキストエディタツールで開いてください。
<script>
alert("Hello!");
</script>
の箇所を以下のように変更します。
<script src="hello!.js"></script>
すなわち、以下のようになります。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p>Hello Hollywood</p>
<script src="hello!.js"></script>
</body>
</html>
こちらは、JavaScriptの箇所にhello!.jsというファイルを実行するという意味を持ちます。
今度は、ファイル hello!.htmlのあるデスクトップ上にテキストファイル「hello!.js」を作成します。
以下のように記述し、保存しましょう。
alert('Hello!Hello!');
そして、ファイル hello!.htmlを右クリック、ブラウザから開きます。ここで、ポップアップが出てきたら終了です。
JavaScriptの学習方法
ここまでJavaScriptの概要についてまとめてきましたが、実際にこれからJavaScriptを学びたい!と思った際にはどのような学習方法があるのでしょうか。
いくつかパターンをまとめてみます。
1.独学で学習する
初期費用を抑えたい、自分のペースで学びたいという人が選択するのがこちらの方法です。
まず、書店やネットでJavaScriptの教本を購入し、それをもとに学習していきます。教本の内容としては、基本的な知識のインプットから始まり、実際に自分でコーディングをして実務に慣れていくような流れとなります。
メリットとしては、スクールに通うのと比較して、費用を抑えやすい点にあります。また、自分のペースで学習できるため、スキマ時間や育児中、介護の合間などにも、時間の融通が効きやすいのも特長といえるでしょう。
一方で、スクールのように半強制的に誰かがスケジュールを管理してくれるわけではありません。ですから、三日坊主になりやすいという大きなデメリットがあるのもこちらの特長といえるでしょう。
また、独学の場合はどうしてもプロからのフィードバックは受けにくいので、「合っているのかわからない」「悩んだときに聞ける相手がいない」といった悩みも浮かびやすいことでしょう。上達を目指すにあたって、フィードバックが受けにくいことで速度が遅くなる可能性もあります。
自分を律して、Web上で情報を細かく検索して進めていける人には良いかもしれませんが、なかなか難易度の高い学習方法といえるかもしれません。
「友人のエンジニアにフィードバックをもらえばいい!」と考える方もいらっしゃるかもしれませんが、仲がよい人といえど、コーディングの習得にはなかなか労力がかかるので、働きながら定期的にフィードバックを受けにいくのはなかなか荷が重いと捉えられることもあるでしょう。
2.社内でエンジニアに転身する
すでにIT企業などで働いていて、本気でJavaScriptを扱うようなエンジニアになりたい人には、こちらの方法も存在しています。
しかし、営業や店舗勤務など、Web領域にこれまであまり携わってこなかった方が、それまでの教育コストを捨ててまで新たにエンジニアに転身するのはなかなか珍しいケースといえます。
もし、エンジニアに転身できたとしても、先輩エンジニアの教育コストは大きくかかるでしょう。懐のよほど大きい企業でない限り、未経験者をエンジニアに挑戦させるのはハードルの高い選択かもしれません。
3.エンジニアの長期インターンに参加する
こちらは主に学生向けですが、企業が募集しているエンジニアインターンに参加してみるというのも一つかもしれません。
インターンといえど、いきなり全くの未経験者を教えるパターンは少数派だと思いますが、企業の中で他の社員とコミュニケーションを取りながら、現場社員から教えを受けるチャンスといえるでしょう。
しかし、企業は学校ではないので、受け身のスタンスだったり、自分で積極的なスタンスに欠ける場合は、教育コストがかかり、あまり快く思われないかもしれません。
最低限の知識があった上で挑戦するのがやはりよいでしょう。
4.スクールで学習する
もっともオススメの方法がこちらのスクールで学ぶパターンです。
デメリットとしては費用がかかるポイントはありますが、体系的にJavaScriptをはじめとしたコーディングの基礎を学ぶのであれば、経験と深い知識を持ち、教えることにも慣れているプロフェッショナルの講師から学ぶのが一番です。
スクールは、費用はかかるものの、逆に言えば、費用を払った分、元を取れるようにがんばらねば!と覚悟が決まる人もいます。
また、スクールの中での、後でも続くような勉強仲間ができたり、就職や転職の支援が受けられるスクールがあるのも、学習後のキャリアチェンジを狙うのであればオススメです。
デジタルハリウッドが提供するオンラインスクール「デジハリ・オンラインスクール」では、場所や時間にとらわれずに学習できます。
わざわざ通学しなくても、自宅で、スキマ時間に学習できるのが強み。地方在住で近くにプログラミングスクールがない方や、パパママにもオススメです。
1994年の創業以来、「デジタルハリウッド大学」をはじめ、数多のクリエイターを輩出してきたデジハリがお届けするオンラインの学校。主にプログラミング初心者が対象となるので、カリキュラムのわかりやすさにも力を入れていますし、コースによっては就職・転職支援の仕組みも用意しています。
まずは一度、Webサイトをチェックしてみてください。
JavaScriptの習得期間はどれくらい?
JavaScriptの習得期間は、学習方法や学習に費やせる時間によって大きく異なりますが、参考程度にこれくらいで習得できる人が多い、という目安を解説します。
基礎レベル(基礎知識のインストール、簡単な実践):1~3ヶ月
言語を理解した上でのプログラミング習得:3ヶ月〜6ヶ月
仕事レベルでのプログラミング実践:6ヶ月〜1年
プログラミングへの慣れや適正、どのような勉強方法をとるのか、フィードバックを適切に受けられるかどうかで期間は短くも長くもなります。
JavaScriptを習得するためのポイントは?
基礎をしっかり学ぶ
まずは基礎を徹底して学習することが重要です。変数、データ型、条件文、ループ、関数などの基本概念を理解し、少しずつ自分のWebサイトなどで実践に移せるようにしましょう。座学も大事ですが、基礎の実践がまずは欠かせません。
定期的にコーディングする
コーディングは忙しさを理由に少しでも時間が空くとすぐに忘れてしまう技術です。ガッツリ時間をとるのが難しくても、少しずつPCに触る時間を作りましょう。
XなどのSNSでは、「100日コーディングチャレンジ」のようなプログラマーを目指す人達の取り組みが動いていることがあります。Web上のコミュニティをうまく活かしながらモチベーションを保って学習していきましょう。
フィードバックをもらう
フィードバックをもらった数は学習速度に大きく影響します。自分だけで完結するのではなく、できるだけ客観的なフィードバックをもらう仕組みをつくりましょう。スクールであれば、講師のプロフェッショナルから定期的にフィードバックをもらうことができます。
JavaScriptを学ぶならデジハリ・オンラインスクール
JavaScriptをはじめ、プログラミングの基礎を学ぶならデジハリ・オンラインスクールはおすすめです。
1994年の創業以降、多くのプログラマーやクリエイターを生み出してきたデジタルハリウッドが運営するオンライン講座が「デジハリ・オンラインスクール」です。
自宅で仕事や勉強の合間にスキル習得ができるのが講座の特徴。「学びやすさ」に強みのある講座内容となっています。ぜひ、一度講座内容をチェックしてみてください。
まとめ
JavaScriptは、Webとの係わり合いが深い、汎用性の高いプログラミング言語です。スキルアップしたいWebデザイナーの方は、ぜひ学んでみてはいかがでしょうか?JavaScriptでできることを学ぶことで、Webデザインの幅が広がるかもしれません。