Language | Basic/JavaScript

[JavaScript 스터디] 연산자

주정용 2021. 1. 22. 14:27
728x90
  • 연산자는 하나 이상의 표현식을 대상으로 연산을 수행하여 하나의 값을 만든다.

산술 연산자

  • 이항 산술 연산자

    • +, -, *, /, %
    • 2개의 피연산자를 산술 연산해서 숫자 값을 반환함
    • 피연산자의 값을 변경하지 않음
  • 단항 산술 연산자

    • ++, --, +, -
    • 1개의 피연산자를 산술 연산해서 숫자 값을 반환함
    • 증감 연산자는 피연산자의 값을 변경함(암묵적 할당 발생)
    • +는 피연산자를 변경하지 않고, 숫자값을 생성해서 반환함
    • -는 부호 반전
  • 문자열 연결 연산자

    • +연산자는 피연산자 중 단 1개라도 문자열이라면 문자열 연결 연산자로 작동함

할당 연산자

  • 우항의 평가 결과를 좌항의 변수에 할당함
  • 할당문은 표현식인 문 --> 값으로 사용된다.
  • =, +=, -=, *=, /=, %=

비교 연산자

  • 좌항과 우항을 비교하여 boolean을 반환함
  • 동등 비교
    • ==, !=
    • 좌항과 우항의 피연산자를 암묵적 타입 변환을 통해 타입을 일치시킨 후 비교함
    • 그러므로 동등 비교 연산은 지양하는 편이 좋음
  • 일치 비교
    • ===, !==
    • 타입과 값이 모두 같은 경우에만 true를 반환함
  • 대소 비교
    • <, >, <=, >=
    • 크기를 비교해서 boolean 값을 반환함

삼항 조건 연산자

  • 조건식 ? true일 때 반환할 값 : false일 때 반환할 값;
  • Ex) let result = value >= 70 ? true : false;
  • 삼항 조건 연산문은 표현식으로 값으로 사용 <---> if-else문은 표현식x 값으로 사용 불가능

논리 연산자

  • ||, &&, !

쉼표 연산자

  • ,
  • 왼쪽 --> 오른쪽으로 피연산자 평가, 마지막 피연산자의 평가 결과를 반환함

그룹 연산자

  • (, )
  • 연산자 우선순위가 높음 --> 연산자 우선순위를 모두 외우지 않았다면 적극적으로 사용하는 것을 권장함

typeof 연산자

  • typeof
  • 피연산자의 데이터 타입을 문자열로 반환함
  • null은 "object"가 반환됨 --> 버그임
  • 선언하지 않은 식별자는 "undefined" 반환

지수 연산자

  • **
  • 좌항의 피연산자는 밑, 우항의 피연산자는 지수로 연산하여 숫자 값을 반환함
  • Math.pow와 같은 기능
  • 음수의 거듭제곱 --> (밑)**지수 형태로 밑을 괄호로 묶어야 함

그 외의 연산자

  • ?. : 옵셔널 체이닝 연산자
  • ?? : null 병합 연산자
  • delete : 프로퍼티 삭제
  • new : 생성자 함수를 호출할 때 인스턴스 생성에 사용
  • instanceof : 좌변의 객체가 우변의 생성자 함수와 연결된 인스턴스인지 판단
  • in : 프로퍼티가 존재하는지 판단

학습 도서

  • '모던 자바스크립트 Deep Dive', 이웅모 저, 위키북스

http://www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&ejkGb=KOR&linkClass=3314&barcode=9791158392239