할당 → 지정했다, 정했다, 대입했다
할당 연산자 (Assignment Operators)
let name = '섭이'
let x = 5
x = x - 2
▲ 변수 name에는 문자열 '섭이' 값을 가지고 있고 변수 x는 숫자 5 값을 가지고 있다.
그렇다면 x = x - 2는 어떤 의미일까?
수학적으로보면 전혀 성립 되지 않는 식이라는 것을 볼 수있는데
등호는 양쪽이 서로 같다는 의미니까 x와 x-2는 같을 수 없다.
자바스크립트에서 등호는 '왼쪼과 오른쪽이 같다' 라는 의미가 아니며 이 등호를 할당 연산자라고 부른다.
코드에서 x = x - 2 는 '오른쪽에 있는 피연산자를 왼쪽에 있는 피연산자에 할당한다' 라는 의미이다.
(여기서 피연산자는 연산이 되어지는 대상을 가리키는말이다.)
할당 연산자는 연산의 순서가있는데, 코드를 해석할 때 할당 연산자의 오른쪽부터 계산 해준다. (x -2)
연산식이 있으니 연산식을 먼저 해결하자면
x는 숫자 5라는 값을 가지고 있다. 즉, (x - 2) 는 (5 - 2)가 된다.
그러면 결국엔 할당 연산자 오른편은 숫자 3이 되고 이 숫자 3을 왼편에있는 변수 x에 할당하는 것이다.
결과적으로 이 코드는 x의 값을 2만큼 줄여주는 코드로 해석될 수 있다.
한번 console.log로 출력해보면..
let name = '섭이'
let x = 5
x = x - 2
console.log(x);
앞으로 자바스크립트로 코드를 작성할 때
등호 하나를 보게 되면 '서로 같다' 라는 의미로 해석하는 것이아니라
할당 연산자의 개념을 떠올려서 '오른쪽에 있는 피연산자를 왼쪽에 있는 피연산자에 할당한다' 라고 이해하면 된다.
복합 할당 연산자 (Compound assignment operators)
복합 할당 연산자는 할당 연산자와 결합해서, 자주 쓰이는 표현을 더 간략하게 쓸 수 있게 하는 연산자이다.
// 다음 두 줄은 같습니다
x = x + 1;
x += 1;
// 다음 두 줄은 같습니다
x = x + 2;
x += 2;
// 다음 두 줄은 같습니다
x = x * 2;
x *= 2;
// 다음 두 줄은 같습니다
x = x - 3;
x -= 3;
// 다음 두 줄은 같습니다
x = x / 2;
x /= 2;
// 다음 두 줄은 같습니다
x = x % 7;
x %= 7;
앞으로 x += 1과 같은 문법을 보게 되면, 당황하지 마시고 이 복합 할당 연산자를 생각하자.
증가(increment), 감소(decrement) 연산자
변수의 값을 1씩 증가시키거나 감소시킬 때는 복합 할당 연산자보다 더 간략하게 쓸 수 있는
증가연산자, 감소연산자를 사용할 수있다.
더하기 기호를 연달아 쓰거나(++), 빼기 기호를 연달아 쓴다.(--).
// 다음 세 줄은 같은 의미입니다
x = x + 1;
x += 1;
x++;
// 다음 세 줄은 같은 의미입니다
x = x - 1;
x -= 1;
x--;
'JS' 카테고리의 다른 글
(12) JavaScript - 추상화 / return문의 함수 실행 중단 (0) | 2024.09.23 |
---|---|
(11) JavaScript - 추상화 / 함수의 실행 순서 (0) | 2024.09.23 |
(9) JavaScript - 자료형 / null & undefined (0) | 2024.09.20 |
(8) JavaScript - 자료형 / 템플릿 문자열 (Template String) (0) | 2024.09.20 |
(8) JavaScript - 자료형 / 형 변환 (Type Conversion) (0) | 2024.09.19 |