let
a = 'a',
b = 'b',
temp;
temp = a;
a = b;
b = temp;
console.log('a: ' + a + ', b: ' + b); // 'a: "b", b: "a"'
XOR swap algorithm으로 불리는 방법이다.
하지만 Integer
일 때만 사용할 수 있는 방법이다.
let
a = 10, // or '10', 10.11
b = 100; // or '10', 100.111
a = a ^ b;
b = a ^ b;
a = a ^ b;
console.log('a: ' + a + ', b: ' + b); // 'a: 100, b: 10'
number
타입의 값을 바꿀 때 사용할 수 있는 방법이다. 문+
동작으로 인해 swap되지 않는다. let
a = 10, // or 10.11
b = 100; // or 100.111
a = a + b;
b = a - b;
a = a - b;
console.log('a: ' + a + ', b: ' + b); // 'a: 100, b: 10'
a
의 값이 복사가 되고 a = b
연산 실행 0번째 값
인 a
를 b
에 할당한다. 재밌는 방법이다.let
a = 5,
b = 'abc';
b = [a, a = b][0];
console.log('a: ' + a + ', b: ' + b); // 'a: "abc", b: 5'
let
a = 5,
b = 'abc';
[a, b] = [b, a]
console.log('a: ' + a + ', b: ' + b); // 'a: "abc", b: 5'