오늘은 '연산자'에 대해서 기록해보자!
뭔가 개인적으로 연산자라는 단어가 촥 와닿지 않는다랄까.... 순우리말로 좋은 표현이 없을까..?
연산자는 우리가 초등학교때 배운다. 선생님이 칠판에 문제를 촤라락 빛의 속도로 써내려 가시고 행여나 오늘 날짜 === '나의 번호'가 아니길 조마조마 했던 기억이 난다.
(꼭 날짜에 더하기 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를 표현한다...
(이때까지는 흥미로웠지....)
다음은 조건문을 기록하자!
'리코딩 : 자바스크립트(JavaScript)' 카테고리의 다른 글
자바스크립트 3. 문자열(String) (0) | 2020.09.20 |
---|---|
자바스크립트 2. 조건문 (0) | 2020.09.20 |
자바스크립트 1. 변수와 자료형 : 타입 (0) | 2020.09.18 |
자바스크립트 1. 변수와 자료형 : 함수 (0) | 2020.09.18 |
자바스크립트 1. 변수와 자료형 : 변수의 선언과 할당 (0) | 2020.09.18 |