- 피연산자값의 갯수와 타입
- 동작
- 연산결과 값과 타입
📌 산술연산자(Arithmetic operators)
📍1. 산술 연산자는 두 개의 숫자 값(리터럴 또는 변수)을 피연산자로 받아서 하나의 숫자 값을 반환합니다.
📍2. 표준 산술 연산자는 더하기(+), 빼기(-), 곱하기(*), 나누기(/)입니다.
피연사자 중에 문자열이 어느 한쪽에라도 있으면 결과는 문자열 undefined와 같이 연산이 불가능한 값끼리 연산되면 결과는 NaN 이라는 값이 나온다.
console.log("=====덧셈연산자====");
//number +number ==> number
console.log(' 10+20:', 10 + 20);
//string + string ==> string
console.log('10' + '안녕');
// string + undefined ==> string
console.log(undefined + '안녕');
//string + number ==> string
console.log(10 + '안녕');
console.log('50' + 50);
console.log(50 + '50');
//NaN
// let a = NaN;
console.log(undefined + 10);
ex)
console.log(20 + 41 + '20' + '' + 70 + 45)
//'61207045'
console.log(10 + '' + 27)
//'1027'
숫자모양의 문자열(숫자) - 숫자모양의 문자열(숫자) ==> number
숫자로바꿀수없는 문자열이 어느 한쪽에라도 포함되어 있다면 NaN
console.log("=====뺄셈연산자====");
console.log("안녕"-'안녕'); //NaN
//string -number ==> number
//number -string ==> number
console.log("10"-2); //number 타임 8 결과
console.log(undefined-1);
숫자모양의 문자열(숫자) * 숫자모양의 문자열(숫자) ==> number
숫자로바꿀수없는 문자열이 어느 한쪽에라도 포함되어 있다면 NaN
숫자모양의 문자열(숫자) / 숫자모양의 문자열(숫자) ==> number
숫자로바꿀수없는 문자열이 어느 한쪽에라도 포함되어 있다면 NaN
0 혹은 '0' 으로 나누면 음의무한대 -Infinity 혹은 Infinity가 결과로 나온다console.log(10/0); // Infinity (number type) console.log(-10/0); // -Infinity (number type)
나머지 연산자 나누었을떄 나머지를 계산한다.
숫자모양의 문자열(숫자) % 숫자모양의 문자열(숫자) ==> number
숫자로바꿀수없는 문자열이 어느 한쪽에라도 포함되어 있다면 NaN
number: 10, -5, 3.1, Infinity, NaN, ....
string: '', 'dfs', '10', .....
undefined: undefined
boolean: true, false
피연산자 두개
✏️a > b
a 가 b 보다 크니? 결과는 맞으면 true 틀리면 false
✏️ a < b
a 가 b 보다 작니? 결과는 맞으면 true 틀리면 false
✏️a >= b
a 가 b 보다 크거나 같니? 결과는 맞으면 true 틀리면 false
✏️ a <= b
a 가 b 보다 작거나 같니? 결과는 맞으면 true 틀리면 false
✏️a == b
a랑 b랑 같니? 결과는 맞으면 true 틀리면 false
✏️a != b
a 랑 b랑 다르니? 결과는 맞으면 true 틀리면 false
✏️a === b
a랑 b랑 같니(type도 같니)? 결과는 맞으면 true 틀리면 false
✏️a !== b
a랑 b랑 다르니(type도 다르니)? 결과는 맞으면 true 틀리면 false
- ✏️숫자 > 숫자
:비교 O- ✏️숫자 > 문자
:비교 하지말자- ✏️'0' == '0'
문자열과 문자열이 같은지 비교 많이 한다
✏️ a && b
and 연산(논리곱, 교집합)
a 그리고 b 둘다 true 라면 결과가 true 아니면 false
✏️ a || b
or 연산(논리합, 합집합)
a 혹은 b 둘중 하나라도 true 가 있다면 결과는 true 아니면 false
✏️ !a
피연산자하나 not연산(논리부정, 여집합)
a가 아니다.
a가 true면 결과는 false, a가 false면 결과는 true
1. 소주 물건 구매 1600원
돈이 1600원 이상 : 조건1
성인 : 조건2
무슨 연산자 사용? and연산 결과(교집합)가 true이면 구매 완료하게 해줘
2. 기차탑승
돈이 50000원 이상 : 조건1
국가유공자 : 조건2(무료로 탑승가능)
조건1 혹은 조건2 둘중 하나만 만족해도 탈 수 있다
무슨 연산자 사용? or연산자(합집합)
최우선 연산자 ()
단항연산자 !
산술연산자 * / % + -
쉬프트연산자
관계연산자 > < >= <= == != === !===
논리연산자 && ||
삼항연산자
대입연산자 =여러가지사용(논리연산자,비교연산자,대입연산자..등등)예시
num = !(10 % 2 == 0 && 10 - 3 >= 3 - 5) || true num = !(0 == 0 && 7 >= -2) || true num = !(true && true) || true num = !(true) || true num = false || true num = true
✏️ a ? b : c
📍 피연산자갯수 : 세개console.log(true ? 10 : '안녕') // 10 console.log(false ? true : false) // false console.log(true ? 10 : 100); //10 console.log(false ? 10 : 100); //100 // 연산의 🌟동작 : a를 확인했더니 a가 true라면 연산의 🌟결과 : b // 연산의 🌟동작 : a를 확인했더니 a가 false라면 연산의 🌟결과 : c