PR

Webシステムの開発効率を高めるにはJavaScriptの習得が不可欠だ。今回はJavaScriptの言語仕様「ECMAScript」のなかで、IE11がサポートしている機能の要点を押さえよう。

 HTMLのマークアップとともに、Webコンテンツ開発で欠かせないのがWebフロントエンドで動作する唯一のプログラミング言語の「ECMAScript」だ。Webシステム開発に欠かせないJavaScriptは、ECMAScriptに基づいた言語である。ECMAScriptは国際標準化団体であるEcma Internationalが標準化している。

 Webシステムの開発現場では10年以上にわたり、1999年に策定された「ECMAScript 第3版」が主流だった。次期版である「第5版」がリリースされたのは2009年だったためだ。2015年に第6版がリリースされて以降、バージョン番号は西暦表記に変わり、2016年にECMAScript 2016が、2017年にECMAScript 2017とリリースの頻度が上がっている。

 ECMAScriptは下位互換性に優れており、今でも第3版で書かれたコードはどのWebブラウザーでも想定通りに動作する。ChromeやFirefoxといった主要なWebブラウザーは、ECMAScript 2017までの機能をほとんど実装しており、既に利用可能な状態だ。

 実は進化が止まっている米マイクロソフト(Microsoft)のWebブラウザー「Internet Explorer(IE)11」でも、ECMAScript 第5版と、第6版の一部をサポートしている。そこで今回は、IE11がサポートしているECMAScriptの機能の中から、比較的モダンなものを解説していこう。

企業システム向けの機能「Strictモード」

 企業システムの開発を念頭に置いた場合、ぜひ押さえておきたい機能がstrictモードだ。strictモードは、基本的にECMAScriptのコーディングに厳密さを与える。言い換えると「お行儀の悪い」コードを書くとエラーになるモードといっても良いだろう。例えば宣言されていない変数が登場するとエラーになる。

'use strict';
num = 2;

 もともとECMAScriptは初心者でも簡単に扱えるように、変数の宣言は必須ではない。しかし、逆に変数の宣言がないことがバグの発見を難しくしている。strictモードで変数の宣言を強制することで、この問題を回避できる。

 ほかにもさまざまな制約が加えられるので、企業システムの開発に利用する際にはぜひ、strictモードでECMAScriptを書くようにしてほしい。

使いやすくなる変数の宣言

 変数の宣言といえば「var」だ。これは、ITエンジニアであれば誰でも知っているだろう。しかしとりわけ他のプログラミング言語を使ったことがあるITエンジニアなら、varを使いにくいと感じたことはないだろうか。なぜなら変数のスコープが関数だからだ。

 ITエンジニアとしては他のプログラミング言語のように、ifやforで囲んだブロックをスコープとしたいのではないだろうか。また、かつてのECMAScriptは定数を宣言することができなかった。このためvarだけでは、複雑なWebアプリケーション開発においてバグを誘発するだけでなく、デバッグも難しくなる。そこで第5版では、変数の宣言のために新たに「let」と「const」が追加された。