1. 산술 연산자
1 + 2 // 더하기 연산자
1 - 2 // 빼기 연산자
1 / 2 // 나누기 연산자
1 * 2 // 곱하기 연산자
1 % 2 // 나머지 연산자
1 ** 2 // 제곱 연산자
// a++ , ++a 의 차이
let a = 1;
console.log(a++) // a = 1 후에 1을 더한다.
console.log(a) // a = 2
console.log(++a) // a = 3 바로 1을 더한다.
2. 대입 연산자
a = 1; // a = 1
a += 1; // a = a + 1
a -= 1; // a = a - 1
a *= 1; // a = a * 1
a /= 1; // a = a / 1
a **= 1; // a = a ** 1
a %= 1; // a = a % 1
3. 논리 연산자
//not은 !, true는 false로 바꿔주고 false는 true로 바꿔준다.
let a = !true; // false 가 된다.
let a = !false; // true 가 된다.
let a = !(1 < 2); // false 가 된다.
//and는 &&, 양 옆의 값이 모두 true 일 경우만 true가 된다.
let a = true && true; // true
let a = true && false; // false
let a = false && flase; // false
let a = 1 > 2 && 1 < 2; // false
//or은 ||, 양 옆의 값중 한가지만 true이면 true가 된다.
let a = true || true // true
let a = true || false // true
let a = false || false // false
let a = 1 > 2 || 1 < 2; // true
//javascript 에서 false로 취급 되는 값 아래는 모두 true가 나옴
console.log(!undefined);
console.log(!null)
console.log(!0)
console.log(!"")
console.log(!NaN) //<— not a number
console.log(!false)
// && 연산자를 사용시 앞쪽이 false면 앞쪽 값이 나오고 반대면 뒤쪽 값이 나온다.
let a = 1 && 0; // a = 0
let a = 0 && 1; // a = 0
let a = 1 && 2; // a = 2
let a = 0 && ""; // a = 0
// || 연산자를 사용시 앞쪽이 true면 앞쪽 값이 나오고 반대면 뒤쪽 값이 나온다.
let a = 1 || 0; // a = 1
let a = 0 || 1; // a = 1
let a = 2 || 1; // a = 2
let a = 0 || ""; // a = ""
// 논리연산자의 우선순위는 not !, and &&, or || 순이다.
let a = !(true && true || true && false || false && !true);
//false
//!( true || false || false )
//!(true)
let a = false;
4. 비교 연산자
// 비교 연산자의 종류
x > y // x 가 y 보다 크다
x < y // x 가 y 보다 작다
x >= y // x 가 y 보다 크거나 같다
x <= y // x 가 y 보다 작거나 같다
// ==, != 과 ===, !== 의 차이
let a = 1; // 숫자 1
let b = "1"; // 문자 1
console.log(a == b) // == 은 타입을 비교하지 않기 때문에 true가 나온다
console.log(a != b) // 마찬가지 이유로 false 가 나온다
console.log(a === b) // === 은 타입까지 비교하기 때문에 false가 나온다
console.log(a !== b) // 마찬가지 이유로 true 가 나온다
// 정확한 계산을 위해선 ===, !== 을 사용하는 것이 좋다
5. 문자열 연산자
let a = "안녕";
let b = "하세요";
console.log(a + b)// 문자열 더하기 연산자로 "안녕하세요" 가 나온다
//문자열과 숫자를 더하면 모두 문자열이 된다
let a = 10;
let b = "20";
console.log(a + b) // 문자열 더하기로 되서 "1020"이 된다.
6. 삼항 연산자
//삼항연산자는 말그대로 항이 3개인 연산자로 짧은 조건문을 쓸때 사용된다.
const array = [1, 2, 3, 4, 5]
if(array.indexOf(6) === -1){
array.push(6);
}
console.log(array); // [1, 2, 3, 4, 5, 6]
// 위와 같은 조건문을 삼항연산자를 사용하면
const array = [1, 2, 3, 4, 5]
array.indexOf(6) === -1? array.push(6): array;
console.log(array); // [1, 2, 3, 4, 5, 6]
// ? 앞 조건이 true면 : 앞쪽이 실행되고 false면 : 뒤쪽이 실행된다.