JSFiddle - React, Tailwind, and code Playground

by Alexander

JavaScript

console.clear();

/**
 * Swap 2 variable without temporary var
 */

let a = 1,
		b = 2;
    
//a = 'a', b = 'b';
//a = 8, b = 32;
//a = 16, b = 4;
	
//[a, b] = [b, a]; // es6+ (any)
//a = [b, b=a][0]; // es5+ (any)

/*
// es5+ (only integer)
a ^= b; // a ^ b
b ^= a; // a ^ b
a ^= b; // a ^ b
// or
a = a^b^(b^=(a^b));
//*/

/*
// es5+ (number)
a = a + b;
b = a - b;
a = a - b;
//*/
/* --
a += b;
b = a - b;
a -= b;
//*/

//b=a+(a=b)-b;
//a = b+(b=a, 0);

//b = (a=>a)(a,a=b);

console.log(a, b);