前から気になっていたJavaScript圧縮ツールを導入してみる。

高機能な JavaScript 圧縮ツール「jsjuicer」 - WebOS Goodies

せっかくコマンドラインソフトなので、ひさしぶりにbatファイルなど書いて自動化してみる。

publish.batの内容

@echo off
copy library.js+proj_main.js+proj_sub.js proj_tmp.js
jsjuicer -sm proj.js proj_tmp.js

copyコマンドでJSファイルを全部合体してから、JS圧縮をかけてる。
あー便利。

例えば、class xArray extends Arrayとした場合、

Arrayを返す、オーバーライドしてないメソッドで問題が出る。

例えばconcatをサブクラスでオーバーライドしてない場合、xArray.concat()はxArrayが返ることが期待されるのにArrayが返ってくるので、コンパイラの型チェックにひっかかる。

サブクラスでメソッドを全部定義するしかないのか?

でも、prototype拡張には別の問題点が。

prototype拡張の注意点|_level0.CUPPY

ASSetPropFlagsのススメ|_level0.CUPPY

ついさっきの出来事。
エントリーを書いて、「下書き(非公開)」ボタンを押して、下書き保存したつもりで一覧に戻ると書いたはずのエントリーが無い。
しまった!と思っても後の祭り。書いたはずのエントリーは跡形も無く消えた。
死ね!アメブロ

とか思ったけど、原因はJSをOFFにしてたことだった。死ねなんて言っちゃいけないよね。

死ね!さっきのオレ

1個目の記事を書いてしまったので、デザインとかいじる。

適当にデザインを選び、
うっとおしい広告をサイドバーに移動し、
ごちゃごちゃしすぎてイライラするサイドバーの要素をガッツリ減らす

あースッキリ!

しかしながらアメブロは重くてイライラするな…

MovieClipへのmix-inを作ってる。mix-inクラスからMovieClipのメンバを呼び出そうとすると、当然コンパイルエラーになるので、その対処法にセオリーがあるのか調べた。

Macromedia - Flex Documentation: Mix-in の使用

actionscriptグループ - mixin

ビルトインクラスの「DataProvider (Array への Mix-in) 」のソースを参考に、MovieClipのメンバを"var"で定義するようにした。