= 연산자는 왼쪽 피연산자가 변수나 배열의 원소, 또는 객체의 프로퍼티가 될 것으로 예상하고, 오른쪽 피연산자는 임의 타입의 임의 값으로 예상한다.
= 연산자는 오른쪽에 있는 값을 왼쪽에 있는 변수나 원소, 또는 프로퍼티에 할당한다.
var x = 10; console.log(x); // 10
할당 수식의 값은 오른쪽 피연산자의 값이다.
var x; console.log(x = 10); // 10
수식에 여러 개의 할당 연산자가 나타나면 해당 연산자들은 오른쪽에서 왼쪽으로 평가된다.
x = y = z = 10; console.log(x); // 10 console.log(y); // 10 console.log(z); // 10
자바스크립트에서 할당 연산자는 다른 어떤 연산과 할당을 결합하기도 한다. 예를 들어, a += b는 a = a + b에 해당하는데, 이와 비슷한 연산자는 다음과 같다.
var x = 10; console.log (x += 5); // 15 var x = 10; console.log (x -= 5); // 5 var x = 10; console.log (x *= 5); // 50 var x = 10; console.log (x /= 5); // 2 var x = 10; console.log (x %= 5); // 0 var x = 10; console.log (x += '5'); // 105, 문자열 연결 var x = 10; console.log (x -= '5'); // 5, 숫자 뺄셈
참고로 + 연산자는 특별하게 취급된다. 이 연산자의 경우 숫자 피연산자보다 문자열 피연산자가 우선순위가 높다. 따라서 피연산자 가운데 하나가 문자열이면 다른 피연산자는 문자열로 변환된다.
한편으로 숫자가 아닌 피연산자에 - 연산자를 사용할 경우 피연산자를 숫자로 변환하려고 시도한다.
← 이전 | 홈 | 다음 → |