LoginSignup
8
6

More than 5 years have passed since last update.

Dartで同じオブジェクトに対して様々なメソッド呼び出しやプロパティアクセスをたくさんするときに便利なカスケード演算子

Last updated at Posted at 2014-06-02

プログラミングをしていて、同じオブジェクトに対して連続的に様々なメソッド呼び出しやプロパティアクセスをするケースがあると思います。

例えば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();

あると思います。

上記のケースではcanvasctxに対してメソッド呼び出しとプロパティアクセスが複数回連続して登場しています。場合によっては、もっとたくさんの数で同様のケースがあるかもしれません。

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でカスケード演算子を用いてスタイリッシュコーディングライフを!

8
6
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
6