変数のスワップ(配列を応用した方法)

(文と宣言)

var a = 1;
var b = 'goodby';

b = [a, a = b][0]; // b = [ 1 , 'goodby' ][0] ⇒ b = 1となる
>> a:'goodby' b:1

まず、配列で[a, a = b]のように配列を定義する。配列の1番目の値はaで初期化する。さらに2番目の値を[a = b]で初期化するが、「aにbを代入する」だけが目的なので、変数b、aともに「最初にbに代入された値」となる。
最後の[0]にて配列の1番目の値すなわちaにあった値を取り出すことでbに代入され、最終的に値が入れ替わることになる。

また、ECMAScript2015ライクに簡潔に記述すると以下のようになる。

var a = 1;
var b = 'goodby';
[a,b] = [b, a]
["goodby", 1]
inserted by FC2 system