JavaScript 연산자
■ JavaScript 연산자
JavaScript 자료형은 데이터를 정해준 유형으로 변수에 저장하기 위해서 사용하며,
선언된 변수를 이용해서 다양한 연산을 할 수 있다.
■ 연산자(Operator)
- 대입 연산자 (Assignment operator)
: 변수의 값을 대입하기 위해 사용하는 연산자로 equal이라 부르는 = 기호를 사용한다.

// 대입 연산자 사용 예제
let a = 10;
let b = 20;
console.log(a);
// 출력 결과 : 10
console.log(b);
// 출력 결과 : 20
■ 산술 연산자(Arithmetic operators)
- 사칙 연산자
: 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/)
- 나눗셈의 나머지를 구하는 연산자(%)
- 지수 연산자(**)
// 산술 연산자 사용 예제
let a = 2;
let b = 4;
console.log(a + b);
// 출력 결과 : 6
console.log(a - b);
// 출력 결과 : -2
console.log(a * b);
// 출력 결과 : 8
console.log(a / b);
// 출력 결과 : 0.5
console.log(a % b);
// 출력 결과 : 2
console.log(a ** b);
// 츨력 겨로가 : 16
■ 산술 연산자와 대입연산자 함께 사용
let a = 2;
let b = 4;
a += b; // a = a + b
console.log(a);
// 출력 결과 : 6
a -= b; // a = a - b
console.log(a);
// 출력 결과 : 2 // 위에서 a 가 6이 되었기 때문에 6-4의 결과값인 2가 다시 a 에 대입
a *= b; // a = a * b
console.log(a);
// 출력 결과 : 8
a /= b; // a = a / b
console.log(a);
// 출력 결과 : 2
- 증가 연산자(++)
- 감소 연산자(--)

※ 영화에서 post는 뒤를 의미하고 pre는 앞을 의미하기 때문에 이렇게 기억하면 알기 쉽다!
postfix 방식으로 변수의 뒤에 증감연산자를 붙이게 되면 먼저 증감 전의 값을 반환하고 이후 변수 값이 증감된다.
prefix 방식으로 변수의 앞에 증감 연산자를 붙이게 되면 먼저 변수의 값을 증감시키고 이후 증감된 변수값을 반환한다.
let a = 1;
let b = a++;
console.log(a, b);
// 출려 결과 : 2, 1
let c = 1;
let d = ++c;
console.log(c, d);
// 출력 결과 : 2, 2
※ 사용 시 연산자를 꼭 변수에 붙여야하는 순세에 유의 필요!
■ 관계 연산자(Relational operators)
: 관계 연산자는 변수들 사이의 관계를 비교하기 위해 사용하기 때문에 비교 연산자라고도 한다.
- 비교 연산자(Comparison operators)
: 비교 연산자는 우리가 수학에서 부등호라고 부르는 것과 같은 기호를 사용한다.
비교 연산자는 항상 왼쪽에 나온 변수를 기준으로 생각하면 쉽다.
종류) <, >, <=, >=
let a = 1;
let b = 2;
console.log(a < b);
// 출력 결과 : true
console.log(a > b);
// 출력 결과 : false
console.log(a <= b);
// 출력 결과 : true
console.log (a >= b);
// 출력 결과 : false
- 동등 연산자(Equality operators)
: 변수의 값이 같은지 다른지를 비교하고 싶을 때 사용한다.
종류) ==, !=
- 일치 연산자(Strict equality operators)
: 변수의 자료형까지 같은지 엄격하게 비교할 수 있도록 일치 연산자 제용
종류) ===, !===

let a = 1;
let b = '1';
console.log(a == b);
// 출력 결과 : true
console.log (a != b);
// 출력 결과 : false
console.log(a === b);
// 출력 결과 : false
console.log(a !== b);
// 출력 결과 : true
※ 사용할 변수의 자료형이 확실치 않을 때는 일치 연산자를 사용하여 자료형까지 완전히 일치하는지 확인하는 것이 중요!
■ 이진 논리 연산자(Binary logical operators)
: 이진 논리 연산이란 true와 false 값만을 가지는 분리형 값을 비교할 때 사용하는 연산자
그렇기 때문에 이진 논리 연산자의 결과 또한 분리형 값이 된다.
종류) a && b, a || b

let a = true;
let b = false;
console.log(a && b);
// 출력 결과 : false
console.log(a || b);
// 출력 결과 : true
■ 조건부 연산자(Conditional operator)
: 조건부 연산자는 조건에 따라 결과가 두 개로 나눠지기 때문에 삼항 연산자라고도 불린다.
영어로는 셋으로 이루어진다 라는 의미를 가진 형용사 ternary를 사용해서 ternary operator라고 한다.

let a = true;
let b = false;
console.log(a ? 1 : 2);
// 출력 결과 : 1
console.log(b ? 1 : 2);
// 출력 결과 : 2