プログラミングをしていて、同じオブジェクトに対して連続的に様々なメソッド呼び出しやプロパティアクセスをするケースがあると思います。
例えばJavaScriptで、こんなケース。
hoge.js
var canvas = document.querySelector('#canvas');
canvas.width = 500;
canvas.height = 500;
var ctx = canvas.getContext('2d');
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.fillStyle = 'red';
ctx.fill();
あると思います。
上記のケースではcanvas
とctx
に対してメソッド呼び出しとプロパティアクセスが複数回連続して登場しています。場合によっては、もっとたくさんの数で同様のケースがあるかもしれません。
Dartには、そういうケースですっきり書くためのカスケード演算子(..
)というものがあります。これを用いて、すっきりと書いてみましょう。
hoge.dat
var canvas = document.query('#canvas')
..width = 500
..height = 500;
var ctx = canvas.getContext('2d')
..claerRect(0, 0, canvas.width, canvas.height)
..fillStyle = 'red'
..fill();
このように書けます。
みなさんもぜひDartでカスケード演算子を用いてスタイリッシュコーディングライフを!