hoge || throw new Error(); がしたい!

by mezumona
その結果が…
♥0 | Line 21 | Modified 2011-08-02 21:58:30 | MIT License
play

ActionScript3 source code

/**
 * Copyright mezumona ( http://wonderfl.net/user/mezumona )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/pXxu
 */

package {
    import flash.display.Sprite;
    public class ExpressionTest extends Sprite
    {
        public function ExpressionTest()
        {
            var hoge:Boolean = false;
            false || function ():void { throw new Error(); }()
            //    || break
            //    || continue
            //    || return false;
            //    || throw new Error()
            // 出来たら面白そう。 throw, return は厳しいか。

                  || super
                  || AS3
                  || delete [false][0]
            // まあ、ここは問題ない。
            // (delete は消せたら true, 消せなかったら false とリファレンスに明記されている)

                  || static
                  || final
                  || native
                  || public
            //    || internal
            //    || protected
            //    || private
            // 何とも奇妙な挙動… 名前空間として扱われているみたいだけど…

                  || (false ? false : false)
            //    || if (true) { } else { }
            //    || for (; false; ) {}
            //    || with (null) { false; }
            // これはまあ仕方がない。Lisp とかじゃないしね。

                  || (hoge = false)
            //    || (var piyo:Boolean = false)
            //    || (const hoge:Boolean = false)
            // どうせ変数宣言は関数の冒頭に持って行っちゃうんだから気を利かせてほしかったなー

            ;

            // 意外なものが良かったりして一筋縄に行かないのがまた面白いが…
        }
    }
}