2016年08月10日 08時00分 UPDATE
特集/連載

タイプセーフの仕組みを解説JavaScriptの“もろい”タイプセーフを解決する「Onux JS++」

JavaScriptにはさまざまな欠点があり、その1つであるタイプセーフを実現するツールも複数存在する。今回は、JavaScriptでタイプセーフを実現する実装の1つ、「Onux JS++」について、Onuxの創設者に話を聞いた。

[Adrian Bridgwater,Computer Weekly]
Computer Weekly

 「JavaScriptはもろいプログラミング言語だ。タイプミス1つでサーバがダウンすることもある」。そう話すのは、ロンドンに拠点を置くOnuxの創設者ロジャー・プーン氏だ。

Computer Weekly日本語版 8月3日号無料ダウンロード

本記事は、プレミアムコンテンツ「Computer Weekly日本語版 8月3日号」(PDF)掲載記事の抄訳版です。本記事の全文は、同プレミアムコンテンツで読むことができます。

なお、同コンテンツのEPUB版およびKindle(MOBI)版も提供しています。

ボタンボタン

JavaScriptを重視するMicrosoft、Facebook、Google

 実のところ、JavaScriptの型チェックがコンピュータ科学の最重要分野の1つであることは確かだ。Microsoft、Facebook、Googleがこの問題に取り組んでいることからも、それがいかに困難かつ重要であるかが分かる。

 JavaScriptには6つの型がある。Object、Number、String、Boolean、Null、未定義の6つだ。

 問題なのは、99%の正確性ではよしとはされず、100%の正確性が求められることだ。

 OnuxはJavaScriptの「タイプセーフ」版である「Onux JS++」をリリースした。プーン氏によれば、コードを実行せずにJavaScriptを分析するのは非常に難しく、その上Webブラウザやプラットフォームごとにコードの実行方法が異なる場合があることから、このテクノロジーを思い付いたという。

JS++の型システムはオプションかつ妥当

 「妥当」というのは、開発者が型を宣言することに決めたら、コンパイル時も実行時も、その型の正しさが常に保証されることを意味する。これにより、開発者は小さな変更を1つ加えただけでアプリケーションが停止してしまうという心配をせず、自信を持ってコードの品質を徐々に改善していくことができる。

 JS++のソリューション(特許出願中)は、JavaScriptの全ての型を1つの型に「統一」する。これを「統一外部型」と呼ぶ。前述のように、JavaScriptではコンパイル時に正しい型を判断することが困難だ。型が実装時に定義される「ホストオブジェクト」(JavaScript公式言語標準のECMAScript公認)から、バグが多くて一貫性のないWebブラウザでの実装に至るまで、JavaScriptへの型の簡単な追加を難しくする問題は何百と存在する。

 「JavaScriptの型から影響を受ける他のソリューションの型システムとは異なり、JS++はJavaScriptを型システムから効果的に切り離す」とプーン氏は言う。

 JavaScriptを型システムから切り離した後、JS++は自動的に予防措置を講じ、JS++の型とJavaScriptの型の間で変換を実行する。

 「つまり、型の正しさを常に維持するようにデータの『サニタイジング』を行う。

この記事が気に入ったらTechTargetジャパンに「いいね!」しよう

この記事を読んだ人にお薦めのホワイトペーパー

この記事を読んだ人にお薦めの関連記事

Loading

注目テーマ

ITmedia マーケティング新着記事

news125.jpg

「Ameba」がMomentumのアドベリフィケーションツールと連携
サイバーエージェントは、Momentumが提供するアドベリフィケーションツール「BlackSwan」...

無料DMP「Juicer」がインティメート・マージャーと広告配信で連携
PLAN-Bは、同社が無料で提供するユーザー分析DMP「Juicer」において、インティメート・マ...

news109.jpg

特定の業種に向けて広告を配信、Geolocation Technologyが「業種バナージャック」を提供
Geolocation Technologyは、IPアドレスを解析しユーザー属性を特定することで指定した業...