val, varはJavaScriptといっしょで型指定なしの変数宣言の意味でもあるから
なしとかコンパイルできんだろ