자바스크립트 대입 연산자 코딩 등호와 수학 등호 차이점


자바스크립트 대입 연산자 = 기호는 우변의 값을 좌변에 더하라는 의미로 수학 등호와 다릅니다. += 연산자는 변수 자신에 우변을 더한 후, 좌변에 대입합니다.

자바스크립트 대입 연산자

X = Y

X = Y에서 = 는 등호가 아니라 왜 대입 연산자라는 용어를 사용할까요? 왜냐하면 수학의 등호와 프로그래밍의 등호는 모양만 같고 기능이 다르기 때문입니다.


수학의 등호 = 기호는 좌변의 값과 우변의 값이 같다는 의미로 사용됩니다. 또는 좌변의 연산 결과는 우변의 결과가 된다는 의미입니다.

하지만 프로그래밍 언어에서 등호란 = 기호의 우변의 값을 좌변에 대입하라는 의미입니다.

따라서 X = Y의 의미는 우변 Y의 값을 좌변 X에 대입하라는 의미입니다.

<script>
  var a;
  a = 1;
  a = 2;
  a = 3;
  a = 4;

  document.write(a);
</script>

변수 a를 선언했고, 변수 a1을 대입했고, 다음에 2를 대입했고 계속해서 4까지 대입합니다.

만약 프로그래밍의 등호가 수학 기호와 일치한다면, a = 1 = 2 = 3 = 4 가 되야 합니다.

하지만 코딩에서 등호란 우변의 값을 좌변에 대입하는 기호이므로 a = 4만 정답이 됩니다.

X + = Y

X + = Y 의미는 X + Y를 연산한 후, 좌변 X에 대입하라는 뜻입니다.


아래 예시에서는 x = 1이고, y = 2입니다. 따라서 x = x + y이므로 x = 3이 됩니다.

var x = 1;
x += 2;
document.write(x);

X * = Y

X * = Y의 의미는 X * Y를 연산해서 좌변 X에 대입하라는 의미입니다.

var x = 33;
x *= 3;
document.write(x);

X / = Y

X / = Y 의 의미는 X / Y를 연산해서 좌변 X에 대입하라는 의미입니다.

var x = 99;
x /= 3;
document.write(x);

X % = Y

X % = Y 의 의미는 X % Y를 연산해서 좌변 X에 대입하라는 의미입니다.

var x = 100;
x %= 6;
document.write(x);

대입 연산자는 = 기호가 수학의 등호와 모양만 같고, 기능은 다르다는 사실을 인지하는데 초점을 맞추면 됩니다.