연산자에는 다양한 연산자가 있다.
이 다양한 연산자 중 내가 아직 개념이 확실하지 않은 부분들에 대해서 정리를 해보려고 한다.
먼저 할당 연산자.
할당 연산자는 오른쪽의 값을 왼쪽 값에 할당하는 (=) 등호이다.
이 연산자에 대해 설명을 들을 때, 수학에서의 등호와 동일하게 생각하면 안된다고 하는 부분이 있었다.
머릿속에서 " 아 그렇구나 " 라고 생각만 하고 쉬운 개념이거니 하며 넘어갔다.
하지만, 코드를 직접 작성해보니 그 생각은 매우 안일했던 것임을 깨닫게 되었다.
할당 연산자는 오른쪽의 값을 왼쪽 값에 할당하는 (=) 등호이다.
수학에서의 등호는 오른쪽이든 왼쪽이든 그 방향성에 대해서는 크게 중요하지 않았다.
'2'+'3' = '5'
'5' = '2'+'3'
위 예시에서 볼 수 있듯, 컴퓨터가 아닌 실제 생활에서 계산을 해보았을 때, 이 수식은
결국 같은 값이기에 문제가 없는 것이다.
하지만 코드 작성시 이런 생각은 매우 큰 문제를 유발하기도 한다는 것을 오늘 깨닫게 되었다.
위의 수식을 코드로 작성한다면,
먼저
'2' + '3' = '5'
컴퓨터는 문자열 2와 3을 더한 값에 문자열 5를 할당한다고 인식한다.
문자열 '2' 와 '3'을 더하면 문자열 '23'이 되는 것이 아닌 5가 되는 것이다.
그리고
'5' = '2' + '3'
컴퓨터는 문자열 5에 문자열 '2' 와 '3'을 더한 값을 할당한다고 인식한다.
문자열 '5'을 문자열 '23'으로 인식하게 된다는 것
물론 예시가 약간 억지스럽긴 하지만, 내가 평소에 수학에서 배웠던 그 등호와 동일한 메커니즘으로 생각하면
결코 안된다라는 것을 깨닫게 된 하루였다.
정확히 보기 위해 항상 면밀하게 살피는 시간을 가져야 할 것 같다.
'개발 R.I.P.' 카테고리의 다른 글
Github로 협업하는 방법 (0) | 2021.04.22 |
---|---|
배열과 객체#2 (0) | 2021.04.21 |
배열과 객체 #1 (0) | 2021.04.19 |
Linux기초 과정 (2) | 2021.04.14 |
CSS :nth-child (3) | 2021.04.12 |