🌱
연산자 : 하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입, 지수 연산 등을 수행해 하나의 값을 만듬
피연산자 : 연산의 대상 (operand ), 값으로 평가될 수 있는 표현식
피연산자 = 값 / 연산자 = 동사 ( 피연산자를 연산하여 새로운 값을 만든다, 피연산자를 연산해 새로운 값 생성 )
1. 산술연산자 ( arithmetic operator )
NaN
반환1-1. 이항 산술 연산자
+
(덧셈), -
(뺄셈), *
(곱셈), /
(나눗셈), %
(나머지)1-2. 단항 산술 연산자
++
(증가), --
(감소) → 암묵적 할당 / -
(양수를 음수로, 음수를 양수로 반전)1-3. 문자열 연결 연산자
-
, +
연산자는 피연산자 중 하나 이상이 문자열인 경우 문자열 연결 연산자로 동작
🌱 암묵적 타입 변환(inplicit coercion) / 타입 강제 변환(type coercion)
2. 할당연산자
=
, +=
, -=
, *=
, /=
, %=
3. 비교연산자
1-1. 동등/일치 비교 연산자
==
) / 일치 비교 연산자 ( ===
)==
) / 부동등 연산자( !=
) : 암묵적 타입 변환을 통해 타입을 일치시킨 후 같은 값인지 비교===
) / 불일치 비교연산자 ( !==
) : 타입도 같고 값도 같은 경우에 한하여 true / false를 반환📌 동등 연산자/부동등 연산자 는 예측이 어려운 결과도 있기 때문에 일치 비교 연산자/불일치 비교 연산자 사용 권장
1-2. 대소 관계 비교 연산자
>
, <
, >=
, <=
)4. 삼항 조건 연산자 ( ternary operator )
📌 if…else와 비슷하지만, 삼항 조건 연산자 표현식은 값처럼 사용 가능하고 if…else 문은 값처럼 사용 불가
5. 논리 연산자
||
논리합( OR )&&
논리값( AND )!
부정 ( NOT ) : 언제나 boolean 값 반환, 만약 피연산자가 불리언 값이 아닐 경우 불리언 타입으로 암묵적 타입 변환6. 쉼표 연산자
7. 그룹 연산자
8. typeof 연산자
🌱 null X → null 은 object를 반환
선언하지 않은 식별자 → undefined를 반환
9. 지수 연산자
Math.pow
메서드 참고10. 그 외 연산자
?.
옵셔널 체이닝 연산자??
null 병합 연산자delete
프로퍼티 삭제new
생성자 함수를 호출할 때 사용하여 인스턴스를 생성instanceof
좌변의 객체가 우변의 생성자 함수와 연결된 인스턴스인지 판별in
프로퍼티 존재 확인✅ 옵셔널 체이닝 연산자 (
.?
)
좌항의 연산자가null
또는undefined
인 경우undefined
를 반환하고 그렇지 않으면 우항의 프로퍼티를 참조
객체를 가리키기를 기대하는 변수가null
또는undefined
가 아닌지 확인하고 프로퍼티를 참조할 때 유용함
📌 부수 효과가 있는 연산자 : 할당 연산자 (
=
), 증가/감소 연산자 (++
/--
),delete
연산자