4-1. 산술 연산자
+(덧셈), -(뺄셈) , * (곱하기), / (나누기), %(나눗셈의 나머지 값. ex. 25 % 10 = 5. 몫이 2, 나머지가 5)
숫자 뿐 아니라 문자열도 산술연산자 사용 가능.
ex)
let a = "1";
let b = 2;
a+b // '12'
let c = "1";
let d = "2";
c+d // '12'
더하기 할당 연산자(+=)는 오른쪽 피연산자의 값을 변수에 더한 결과를 다시 변수에 할당
let a = 2;
console.log(a += 3); // 5
console.log(++num); // num+1 후 num출력
console.log(num--); // num출력 후 num-1
4-2. 비교 연산자
== 값이 같다. (ex. 10 == “10” -> true)
=== 데이터 타입, 값이 같다. (ex. 10 === “10” -> false)
!== 값이 같지 않다.
<=, >, >=, <
4-3. 논리 연산자
&& : (and) 앞 뒤 조건이 모두 참인 경우에만 true (ex. “10” === “10” && 10 === 10 -> true)
|| : (or) 앞 뒤 조건 둘 둥 하나만 참이어도 true (ex. “10” === 10 && 10 === 10 -> true)
4-4. 3항 연산자
let result = true ? 1 : 100; // 1
let res = false ? console.log(“참”) : console.log(“거짓”); // console.log(“거짓”)
4-5. nullish 연산자
?? 앞의 값이 null이거나 false면 ?? 뒤의 값을 넣어준다.
let result1;
let result2 = result1 ?? 100; // 100
let result3 = 10;
let result4 = result3 ?? 100; // 10
nullish 연산자 ??를 사용하면 짧은 코드로 값이 확정된 변수를 찾을 수 있다.
a ?? b의 결과는 다음과 같다.
a의 값이 null 이거나 false면 b
그게 아니라면 a
nullish 연산자 없이 동일한 코드르 작성한다면,
x = (a !== null && a !== undefined) ? a : b; 와 같을 것이다.
만약 어떤 변수에 사용자가 입력하는 닉네임을 저장한다고 할 때, 닉네임을 입력하지 않아도 되는 케이스와 그런 케이스의 결과를 익명으로 출력하고자 한다면 nullish 연산자를 사용해서 출력할 수 있다.
ex1)
let a = 'pinky';
let b = null;
console.log(a ?? b ?? '익명'); // pinky
ex2)
let a = null;
let b = null;
console.log(a ?? b ?? '익명'); // 익명