プログラミング言語Javascriptの特徴【できることの可能性を秘めている】

/*JavaScript*/
<script>
function bmi_calc() {
  var h = document.getElementById("height").value;
  var w = document.getElementById("weight").value;
  var b = Math.round(w / Math.pow(h / 100, 2))|0;
  var t = (b == 0) ? '0' : b;
  document.getElementById("bmi").innerHTML = t;
}
</script>
BMI計算(標準は22)
0

身長 cm
体重 kg 

このBMI計算機は、上のJavaScriptプログラムで動いています。

JavaScriptはウェブページに動きを付けたり、計算機能を付けたりできるプログラミング言語です。ウェブページをレイアウトするHTMLと親和性が高く、HTMLのなかに混ぜ込んで記述することもできます。

ウェブブラウザ(GoogleChromeなど)はウェブページを表示するタイミングで、HTMLと一緒にJavaScriptプログラムを読み込みます。そのためJavaScriptプログラムはブラウザ上で実行することができる手軽さを持ちます。

HTMLと一緒にウェブデザインに使用できるため、ウェブデザイナーのスキルとしても重宝されます。

JavaScriptを学習する目的は、主に次のような目的になります。

  • ウェブアプリ開発の仕事に就くため。
  • ウェブデザイナーのスキルにするため。

ウェブ開発に使われる言語RubyやPHPを学習するときは、フロントエンド開発のためにセットで学習することになります。ただ、それほど難しいことは学習しません。開発を簡便にするライブラリ(jQueryなど)を利用できるためです。

プログラミング未経験者でも習得しやすい言語です。

この記事では、JavaScriptの特徴について解説します。

Javaと名前が似ていますが、JavaScriptとJavaは別の言語です。Javaの特徴はこちらの記事で解説しています。

プログラミング言語の特徴【できること・得意分野を解説】

JavaScriptの特徴

  • HTMLと親和性が高い
  • ウェブブラウザでプログラムを実行できる
  • ライブラリが豊富なため開発しやすい
  • 進化している言語であり可能性を秘めている

HTMLに混ぜ込んで記述できる汎用性は、ウェブ開発において大きなメリットになっています。

開発はウェブブラウザとエディターくらいです。開発環境を構築する手間がなく、初心者でも学習を始めやすいです。

開発において多用されるライブラリがjQueryジェイクエリーです。このライブラリのおかげで、JavaScriptでプログラムを組まなくてもウェブページに簡単に機能を追加することができます。

GoogleやMicrosoftは、JavaScriptをベースに進化させた派生言語を開発してリリースしています。

1990年代のウェブでは、JavaScriptはブラウザに警告を表示するくらいにしか使われておらず、なんとも利用価値の乏しい印象の言語でした。しかし、現在はGoogleがGoogle Apps Scriptとして進化させて、Googleスプレッドシートなどの高次元なアプリを実現しています。

当時を知る私としては、あのJavaScriptが!?こんななってんの?という印象です。

Google Apps Script

2009年に、GoogleがJavaScriptをベースに開発した派生言語です。

開発環境はGoogleChromeなので、プログラミング未経験者でも学習を始めやすい言語です。

Googleドライブの各アプリケーション(Googleスプレッドシートなど)を自動化するプログラムに使えます。

Googleスプレッドシート同様の表計算ソフトでパッと思い浮かぶのがExcelエクセルです。

  • Excel:VBA(マクロ)
  • Googleスプレッドシート:Google Apps Script

ともに、自動処理プログラムを組めるプログラミング言語ですが、このような関係性になっています。

TypeScript

2012年、MicrosoftがJavaScriptをベースに開発した派生言語です。

JavaScriptのスーパーセットであるため、JavaScriptプログラムはTypeScriptでそのまま利用できるというメリットを持ちます。

JavaScriptがユーザーのブラウザのみで実行できるのに対し、TypeScriptはサーバーサイドでも実行できる応用力を持ちます。

そのため、大規模なアプリケーション開発にも使える言語として期待されています。

JavaScriptでできること

  • ウェブページに動きのあるデザインを表現
  • ウェブページに計算機能を表現
  • ウェブアプリケーションの開発

JavaScriptを使えばウェブページに動きのあるデザインを表現できます。ウェブデザイナーのスキルとしてJavaScriptが求められるのは、このためです。

ユーザーの入力に応じて計算結果を表示する(上のBMI計算機のような)簡易なアプリを表現できます。

また、実行環境はユーザーのブラウザにとどまらず、サーバーサイドでの実行環境がNode.jsによって実現しています。

どんな環境でも動く言語に進化しているんですね。

jQuery

2006年リリース。ウェブ開発で多用されるJavaScriptのライブラリです。

通常のプログラミングに比べて記述量が少なくて済むので、開発を簡単にスピーディーにできます。

Vue.js


2014年リリース。ウェブアプリケーション開発を簡便にするJavaScriptのフレームワークです。

主にウェブ画面上のユーザー入力パーツをテンプレート化しているので、プログラミングの手間を軽減できます。

Node.js


2009年リリース。サーバー側でのJavaScript実行環境です。

ウェブブラウザでしか実行することしかできなかったJavaScriptを、サーバー側で実行できる言語に進化させた技術です。

JavaScriptの難易度

  • 開発環境:ウェブブラウザ、エディター
  • 型付け:動的
  • コンパイル:不要
  • パラダイム:マルチパラダイム(主に手続き型)
  • 実行環境:クライアントサイド(ウェブブラウザなど)およびサーバーサイド

JavaScriptの難易度は低く、習得しやすい言語です。

開発環境が、すでにパソコンに整っているようなものなので、プログラミング未経験者でも学習を始めやすいです。

HTMLのなかに混ぜ込んで記述することができるので、プログラムの処理結果をウェブブラウザで確認できます。この点も、JavaScriptのプログラミング学習をより簡易にしています。

それでいて、クライアントサイドからサーバーサイドの開発までできる汎用性があるので、習得すればエンジニアとしての活躍の場を広く期待できるお得な言語です。

JavaScriptの学習方法

JavaScriptは独学でも習得可能です。

プログラムの処理結果をウェブブラウザで確認できるため、プログラミング自体が初めての人でも理解しやすいです。

学習する順序がわからない場合は、参考書を1冊手元に用意すると良いでしょう。

プログラミング自体が初めての人は、プログラミングスクールを利用して学習するのが習得の近道です。

プログラミングスクールでは、JavaScriptのライブラリやフレームワークを含めたカリキュラムになっていることが多いです。

jQueryやVue.jsはウェブアプリ開発で常用されるスキルなので、これらも一緒に学習できるコースを選ぶとウェブ開発エンジニアへの転職・就職においても有利になるでしょう。

テックアカデミー フロントエンドコース は、JavaScript・jQuery・Vue.jsを学習できるカリキュラムになっています。

まとめ

  • JavaScriptはウェブページに動きを付けたり、計算機能を付けたりできるプログラミング言語。
  • HTMLと一緒にウェブデザインに使用できるため、ウェブデザイナーのスキルとしても重宝される。
  • HTMLに混ぜ込んで記述できる汎用性は、ウェブ開発において大きなメリット。
  • 実行環境はユーザーのブラウザにとどまらず、サーバーサイドでの実行環境がNode.jsによって実現している。
  • JavaScriptの難易度は低い。開発環境が、すでにパソコンに整っているようなものなので、プログラミング未経験者でも学習を始めやすい。
  • プログラミング自体が初めての人は、プログラミングスクールを利用して学習するのが、習得の近道。
  • テックアカデミー フロントエンドコース は、JavaScript・jQuery・Vue.jsを学習できるカリキュラムになっている。
  • この記事を書いた人

non

小学生のときにBASIC言語でプログラミングを覚え、社会に出てからはPythonを主力に通信業界で無線設計とGISシステム開発に携わること12年目。プライベートではPHP・MySQLでウェブサービスを作りつつ、副業で収入を得ています。「プログラミングは人生を豊かにする」と実感しています。