연산자(operator)는 +
, -
, *
, =
, ===
, !
의 기호로, 더하기, 빼기, 곱하기, 할당, 비교, 부정 등의 의미를 가진다.
console.log(1 + 2);
console.log(5 - 7);
console.log(3 * 4);
//10을 2로 나눈 몫
console.log(10 / 2);
// 10을 2로 나눈 나머지
console.log(10 % 2);
// 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
// 증가 연산자
// ++ 기호가 뒤에 있는 경우,
let a = 1
console.log(a++) // 1
console.log(a) // 2
// ++ 기호가 앞에 있는 경우,
let a = 1
console.log(++a) // 2
console.log(a) // 2
&& (and)
하나라도 거짓이면 거짓.
왼쪽에서부터 가장 먼저 만나는 거짓(Falsy) 데이터를 반환.
끝까지 거짓이 없으면 가장 오른쪽의 마지막 참(Truthy) 데이터를 반환.
|| (or)
둘 중에 하나라도 참이면 참 반환.
왼쪽에서부터 가장 먼저 만나는 참(Truthy) 데이터를 반환.
끝까지 참이 없으면 가장 오른쪽의 마지막 거짓(Falsy) 데이터를 반환.
! (not)
부정 연산자, not. 뒤쪽의 값을 부정.
console.log(!a)
?의 앞이 true이면 콜론 앞부분을, false이면 뒷부분 실행
const a = 1 < 2;
/*
if (a) {
console.log("참");
} else {
console.log("거짓");
}
*/
console.log(a ? "참" : "거짓");
==
의 기호를 사용. 형변환이 일어남.
타입이 서로 다르면 강제로 형 변환을 하면서 비교한다.
두 피연산자의 값이 서로 비교했을때 타입이 같다는 걸 전제해서 같으면 참(true),
===
의 기호를 사용.
값의 메모리 주소를 비교. 값과 타입이 같아야 참(true)
원시형은 생긴게 똑같으면 같다.
참조형은 생긴게 같아도 같다고 볼 수 없다.