lang

拡張構文

\ による関数・メソッド定義

functionを使った例:

function a(x,y) {
   return x+y;
}

\を使った例:

\a(x,y) {
   return x+y;
}
onComplete=\(evt) { alert("Complete") };
new Button{top:100, text:"test", onClick:\{print("TEST");}};

引数渡しにおける()の省略

関数・メソッド呼び出し時に,引数がオブジェクトリテラルまたは関数リテラルのみで構成される場合,()を省略できます.

$("a").attr{target:"_top"};
// $("a").attr({target:"_top"}); と等価

$("a").click \{ alert("click"); };
// $("a").click(\{ alert("click"); }); と等価

また,通常の引数リスト+オブジェクトリテラルまたは関数リテラルのみで構成される引数リストを組み合わせて書くこともできます

sh.cp("src.txt","dst.txt") {v:true};
// sh.cp("src.txt","dst.txt",{v:true}); と等価

オブジェクトリテラルの省略記法

{x:x}のように,属性名と値が同じ場合,{x}と記述できます(ES6と同様).

オブジェクトリテラル内での= の使用

{x:0,y:0} の代わりに {x=0,y=0}と記述できます.

Backlink