久保清隆のブログ

ライフハック、健康、旅行など、役立つ情報を書きます。

JavaScript圧縮の原理と問題点

JavaScriptファイルやCSSファイルを圧縮して高速化する「YUI Compressor Online」 - GIGAZINE
JavaScriptを圧縮して高速化するツールが紹介されていたので、圧縮についてちょっと調べてみた。


JavaScript圧縮ツールは、JavaScriptのプログラムからコード上本質的でないホワイトスペース(空白)や改行を除去する。
通常、空白や改行はコードを読みやすくしたり、ミスを少なくするために書かれるので、本来はなくても大丈夫。ただ;を改行ごとにつけていないと、改行が削除された時点でエラーが発生してしまう。(;は省略可能だが、同じ行に複数のコードを書くときは;で区切る必要がある。)

圧縮ツールは小さなスクリプトの場合は不要だが、Ajaxライブラリのように非常に大きなものには有用だ。


圧縮すると確かに高速化されるというメリットがあるが、問題点もある。

  • もしエラーが起きたとき、圧縮されたコードのデバッグは困難。
  • コードが読みにくいので、JavaScript開発者のコミュニティの「品質保証」を得て広く共有されることは不可能

※逆に共有を制限するため、圧縮に伴うコードの不明瞭化を理由に圧縮ツールを採用することもある。


圧縮ツールのオプションである程度の問題は解消できるみたいだが、そうするとその分圧縮率は下がるのでどっちをとるか考えないといけない。でもコードをさらしたくない場合は、圧縮し難読化することでコードをみられるのを防ぐこと出来る。

参考文献

JavaScriptを圧縮・難読化する時の注意点 : アシアルブログ
初めてのJavaScript



お読み頂きありがとうございます。
少しでもお役に立てたらクリックお願いします↓。
ブログランキング・にほんブログ村へにほんブログ村 IT技術ブログへにほんブログ村 IT技術ブログ プログラム・プログラマへにほんブログ村 サラリーマン日記ブログ 戦うサラリーマンへ