Home 07 - 연산자
Post
Cancel

07 - 연산자

연산자operator

하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입, 지수 연산 등을 수행해 하나의 값을 만든다.
이때 연산의 대상을 피연산자operand라고 함.

1. 산술arithmetic 연산자

  1.1. 이항binary 산술 연산자

  1.2. 단항unary 산술 연산자

  1.3. 문자열 연결 연산자

1
2
3
console.log(1 + true);
console.log(1 + null);
console.log(+undefined);
1
2
3
2
1
NaN

이러한 걸 암묵적 타입 변환implicit coercion/타입 강제 변환type coercion이라 함.

2. 할당 연산자

할당문은 값으로 평가되는 표현식인 문으로서 할당된 값으로 평가됨.

연쇄 할당 가능

1
2
3
4
5
var a, b, c;

a = b = c = 0;

console.log(a, ,b, c);
1
0 0 0 


3. 비교comparison 연산자

  3.1. 동등loose equality/일치strict equality 비교 연산자

이 둘은 비교하는 엄격성의 정도가 다름.

비교
연산자
의미사례설명부수 효과
==동등 비교x == yxy
값이 같음
X
===일치 비교x === yxy
값과 타입이 같음
X
!=부동등 비교x != yxy
값이 다름
X
!==불일치 비교x !== yxy
값과 타입이 다름
X

동등 비교 연산자
: 좌항과 우항의 피연산자 비교 시,
 먼저 암묵적 타입 변환 통해 타입 일치시킨 후 같은 값인지 비교

일치 비교 연산자
: 좌항과 우항의 피연산자가 타입도 같고 값도 같은 경우에 한하여
 true를 반환.

★ 주의 사항

1
NaN === NaN;
1
false

NaN은 자신과 일치하지 않는 유일한 값.

  3.2. 대소 관계 비교 연산자


4. 삼항termary 조건 연산자

조건식의 평가 결과에 따라 반환할 값 결정.

1
var result = score >= 60 ? 'pass' : 'fail';


5. 논리logical 연산자


6. 쉼표 연산자


7. 그룹 연산자

연산자 우선순위가 가장 높다!


8. typeof 연산자

string”, “number”, “boolean”, “undefined”, “symbol”, “object”, “function
中 하나를 반환.
null” 반환하는 경우 없음.
함수는 “function” 반환.

미수정 버그인 부분
typeofnull 연산하면 object 반환함.

★주의
선언하지 않은 식별자를 typeof로 연산하면 undefined 반환함.


9. 지수 연산자

좌항 => 밑base
우항 => 지수exponent


10. 그 외 연산자

연산자개요참고
?.옵셔널 체이닝 연산자
??null 병합 연산자
delete프로퍼티 삭제
new생성자 함수 호출 시
사용하여 인스턴스 생성
instanceof좌변 객체가
우변 생성자 함수와
연결된 인스턴스인지 판별
in프로퍼티 존재 확인


11. 연산자의 부수 효과

부수 효과가 있는 연산자
할당 연산자(=), 증가/감소 연산자(++/--), delete 연산자.


12. 연산자 우선순위


13. 연산자 결합 순서

Contents