할당 연산자(=)

= 연산자는 왼쪽 피연산자가 변수나 배열의 원소, 또는 객체의 프로퍼티가 될 것으로 예상하고, 오른쪽 피연산자는 임의 타입의 임의 값으로 예상한다.

= 연산자는 오른쪽에 있는 값을 왼쪽에 있는 변수나 원소, 또는 프로퍼티에 할당한다.

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, 숫자 뺄셈

참고로 + 연산자는 특별하게 취급된다. 이 연산자의 경우 숫자 피연산자보다 문자열 피연산자가 우선순위가 높다. 따라서 피연산자 가운데 하나가 문자열이면 다른 피연산자는 문자열로 변환된다.

한편으로 숫자가 아닌 피연산자에 - 연산자를 사용할 경우 피연산자를 숫자로 변환하려고 시도한다.

관련 수업

← 이전다음 →