例えばa, b, c, d, e
という複数の変数があったときに、その値をローテーションする方法です。もちろん2つ以上ならいくつでもできます。
方法① 一時変数
var x;
x = a, a = b, c = d, d = e, e = x;
x
を一字的な変数として使用しています。
メリット:わかりやすい
デメリット:無駄な変数
方法② 配列
a = [b, b = c, c = d, d = e, e = a][0];
配列と代入を上手く使った方法です。
個人的にはこれが一番好きです。
メリット:無駄がない
デメリット:動作がわからないとわかりにくい
方法③ 分割代入(ES6)
[a, b, c, d, e] = [b, c, d, e, a];
ECMAScript6、JavaScript1.7で新たに使えるらしい機能のひとつです。
代入の左側を、配列やオブジェクトのように記述できます。
メリット:簡単でわかりやすい
デメリット:対応状況を考えるとまだ使えない