07. 연산자

2102 단어 JavaScriptJavaScript

2022.04.04.월요일

07. 연산자

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

7.1 산술 연산자

  1. 이항 산술 연산자
    2개의 피연산자를 산술 연산하여 숫자 값을 만든다.
    ex) +, -, *, /, %
  2. 단항 산술 연산자
    1개의 피연산자를 산술 연산하여 숫자 값을 만든다.
    ex) ++, --, +, -
  3. 문자열 연결 연산자
    +연산자는 피연산자 중 하나 이상이 문자열인 경우 문자열 연결 연산자로 동작한다.
    '1' + 2; // -> '12' 
    1 + '2'; // -> '12'
    1 + true; // -> 2
    1 + false; // -> 1
    1 + null; // -> 1
    1 + undefined // -> NaN
    		```
    위와 같은 현상을 암묵적 타입 변환 혹은 타입 강제 변환이라 부른다. 
    

7.2 할당 연산자

우항에 있는 피연산자의 평가 결과를 좌항에 있는 변수에 할당한다.
ex) =, +=, -=, *=, /=, %=

7.3 비교 연산자

참/거짓을 따진다. 이 결과를 if문 혹은 for문에 조건식으로 주로 사용한다.

  1. 동등/일치 비교 연산자
    ex) ==, ===, !=, !==
    차이점 : ==, !=는 타입에 대한 비교는 하지 않음으로 암묵적 타입 변환 이 이루어짐. 반대로 ===, !==는 타입에 대한 비교도 이루어진다.
  2. 대소 관계 비교 연산자
    ex) >, <, >=, <=

7.4 삼항 조건 연산자

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

7.5 논리 연산자

ex) ||, &&, !

'Cat' && 'Dog'; // => 'Dog'

위는 단축 평가의 예이다.

※ 단축 평가 : a || b일 경우 or연산자로 앞에서 1이 나오면 더 이상의 평가는 무의미하다. 그로 인해 a값만 반환한다. false || b일 경우 b를 반환 a && b일 경우에는 b까지 평가하고 나서야 반환 가능하기에 b를 반환한다.

7.6 쉼표 연산자

쉼표 연산자는 왼쪽 피연산자부터 차례대로 피연산자를 평가하고 마지막 피연산자의 평가가 끝나면 마지막 피연산자의 평가 결과를 변환한다.

7.7 그룹 연산자

소괄호로 피연산자를 감싸는 그룹 연잔사는 표현식에서 가장 먼저 평가한다.

7.8 typeof 연산자

string, number, boolean, undefined, symbol, object, function 중 하나를 반환하며 null은 반환하지 않는다. null은 object를 반환한다.

7.9 지수 연산자

ES7에서 도입된 지수 연산자로 좌항은 밑, 우항은 지수로 거듭 제곱한다. Math.pow보다 가독성이 좋다.

7.10 그 외의 연산자

ex) ?. , ??, delete, new, instanceof, in
※ 이후에 언급된다. 책을 보면 해당 페이지를 확인할 수 있다.

7.11 연산자의 부수 효과

일부 연산자는 다른 코드에 영향을 주는 부수 효과가 있다.
ex) =, ++, --, delete

7.12 연산자 우선순위

-생략-

7.13 연산자 결합 순서

-생략-

좋은 웹페이지 즐겨찾기