230316 TIL - 모던 자바스크립트 Deep Dive Lesson 7

thumbzzero·2023년 3월 16일
0

TIL

목록 보기
10/21

7. 연산자

표현식(expression) : 리터럴(ex. 10), 식별자(ex. sum), 연산자(ex. 10 + 20), 함수 호출(ex. square()) 등의 조합
<-> 하나의 값으로 평가될 수 있는 문(statement)

산술 연산자

  • 이항 산술 연산자 (2개의 피연산자)
    +, -, *, /, %
  • 단항 산술 연산자
    ++, --, +, -
  • 문자열 연결 연산자

할당 연산자

=, +=, -=, *=, /=, %=

비교 연산자

  • 동등/일치 비교 연산자
    ==(x와 y의 값이 같음), ===(x와 y의 값과 타입이 같음), !=(x와 y의 값이 다름), !==(x와 y의 값과 타입이 다름)
  • 대소 관계 비교 연산자

    , <, >=, <=

  • 삼항 조건 연산자
    조건식 ? [조건식이 true일때 반환할 값] : [조건식이 false일때 반환할 값]

논리 연산자

|| (OR), && (AND), ! (NOT)

  • !은 언제나 불리언 값 반환 (피연산자가 불리언 값이 아니면 불리언 타입으로 암묵적 타입 변환)
  • ||와 &&의 연산 결과는 불리언 값이 아닐 수도 있다. (언제나 피연산자 중 어느 한쪽 값을 반환 - 단축 평가)
    'Cat' && 'Dog' // "Dog"

쉼표 연산자(,)

왼쪽 피연산자부터 차례대로 피연산자를 평가하고 마지막 피연산자의 평가가 끝나면 마지막 피연산자의 평가 결과를 반환

var x, y, z;
x = 1, y = 2, z = 3; // 3

그룹 연산자

그룹 내의 표현식을 최우선으로 평가한다. 그룹 연산자를 사용하면 연산자의 우선 순위를 1순위로 높일 수 있다.

10 * 2 + 3   // 23
10 * (2 + 3) // 50

typeof 연산자

자신의 뒤에 위치한 피연산자의 데이터 타입을 문자열로 반환

typeof ''              // "string"
typeof 1               // "number"
typeof NaN             // "number"
typeof true            // "boolean"
typeof undefined       // "undefined"
typeof Symbol()        // "symbol"
typeof null            // "object`- 주의 : 일치 연산자(===) 사용할 것
typeof []              // "object"
typeof {}              // "object"
typeof new Date()      // "object"
typeof function () {}  // "function"

0개의 댓글