리코딩 : 자바스크립트(JavaScript)

자바스크립트 1. 변수와 자료형 : 연산자

BreezeBm 2020. 9. 18. 23:49

오늘은 '연산자'에 대해서 기록해보자!


뭔가 개인적으로 연산자라는 단어가 촥 와닿지 않는다랄까.... 순우리말로 좋은 표현이 없을까..?

 

연산자는 우리가 초등학교때 배운다. 선생님이 칠판에 문제를 촤라락 빛의 속도로 써내려 가시고 행여나 오늘 날짜 === '나의 번호'가 아니길 조마조마 했던 기억이 난다.

(꼭 날짜에 더하기 1을 왜 하는 건지.....)

 

'산술연산자'는 더하기, 빼기, 곱하기, 나누기, 나머지가 있습니다.

종류 표현 설명
+ A + B 더하기
- A - B 빼기
* A * B 곱하기
/ A / B  나누기
% A % B 나머지

나는 처음에 나머지를 처음봐서 낯을 좀 가렸다..

Let num1 = 5
let num2 = 2
let result;
result = num1 % num2; // 5 % 2 === 1

'5 % 2' 즉 5를 2로 나누었을 때 나머지를 구하는 연산자이다. 즉 1이된다. (오오오오뭔가쓸데없어보이지만정말많이쓴듯)

 

그리고 '비교연산자'가 있다. 대소관계를 나타내는 연산자 이다.

종류 설명
 A > B A는 B보다 크다.
A < B A는 B보다 작다.
A >= B A는 B보다 크거나 같다(이상).
A <= B A는 B보다 작거나 같다(이하).
A == B A와 B는 같다.
A === B A와 B는 엄격히 같다.(엄근진)
A != B A와 B는 다르다.
A !== B A와 B는 엄격히 다르다.(엄근진)

쭉 보다보면 고개가 끄덕여 지다가 갑자기 띠용!!!!! 

A와B가 같은 건 알겠는데 엄격히 같은건 뭐지?? 결국 둘다 같다 아닌가.? 

땡!!! 코드를 통해 살펴보자

1 == 1 // true
1 == '1' // true

1 === 1 // true
1 === '1' //false

자 2번째 줄에 자세히 보면 숫자 1과 문자열 1을 비교하고 있다. 숫자와 문자는 엄연히 다르다.

하지만 ==  연산자는 같다고 인식한고 true(참)이라고한다.

즉, 숫자를 비교할 때 타입에 관계 없이 표기된 숫자만 일치하면된다.

 

하지만 마지막 줄의 코드는 숫자1과 문자열 1을 똑같이 비교하고 있다. 

===연산자는 엄격히 다르다고 인식하고 false(거짓)이라고 한다. 

즉, 숫자를 비교할 때 표기된 숫자와 자료형이 함께 일치 해야한다.

(난 이부분에서 매우 흥미를 느꼈다. 그리고 사람이 정말 똑똑해야 한다는 좌절도 느꼈다.)

 

비교연산자를 나중에는 많이 활용해서 코드를 짠 기억이 있다! 다시 내 기억속에 저장~

 

마지막으로 '논리연산자'로 아름답게 마무리 해보려고 한다.

종류 설명
|| or 연산자
&& and 연산자
! not 연산자

논리연산자는 예시를 보는게 이해가 빠르다.

true || true // true
true || false // true
false || false // false

먼저 'or연산자'부터 살펴보자!

or연산자는 좋은게 좋은거라는 느낌이 든다. 그냥 하나라도 'true(참)'이면 다 참을 나타낸다.

(약간 둥근 녀석)

true && true // true
true && false // false
false && false // false

두번째는 'and연산자'다. 

or연산자와는 다르게 조금 더 깐깐한 느낌이 든다. and연산자는 하나라도 'false(거짓)'이면 다 거짓이다.

(그렇게 모난건 아닌데...)

!false; // true
!(3 > 2) // false

마지막은 'not연산자'

이 연산자는 청개구리 느낌(?)이 든다. 이 친구는 truthy, falsy여부를 반전시킨다. 위의 코드를 보면 false 앞에 느낌표를 붙이고 표현하면 true를 내뱉는다. 3은 당연히 2보다 크다 하지만 앞에 not연산자를 붙이면 false를 표현한다... 

(이때까지는 흥미로웠지....)

 

다음은 조건문을 기록하자!