[study] 언제까지 넘겨 짚을래 ch7. 연산자

가오리·2023년 4월 15일
0

javascript

목록 보기
4/44
post-thumbnail
📌 스터디 교재 및 강의
  1. [youtube] 모던 자바스크립트 Deep Dive 스터디
  2. [e-book] 모던 자바스크립트 Deep Dive
  3. [e-book] 코어 자바스크립트
  4. [blog] 자바스크립트 개발자라면 알아야 할 33가지 개념



✏️ 산술 연산자

피연산자를 대상으로 수학적 계산을 수행하여 새로운 숫자 값을 만들지만 산술 연산이 불가능한 경우 NaN을 반환한다.

🪝 부수효과: side effect

대부분의 연산자는 다른 코드에 영향을 주지 않지만 일부 연산자는 다른 코드에 영향을 주는 부수 효과가 있다.

ex) 할당 연산자, 증가/감소 연산자, delete 연산자

  1. 이항 산술 연산자

    2개의 피연산자를 산술 연산하여 숫자 값을 만들고 부수효과가 없다.

    쉽게 말해서 산술 연산을 해도 피연산자의 값이 바뀌지 않고 새로운 값을 만든다.

  2. 단항 산술 연산자

    증가(++)/감소(—) 연산자는 피연산자의 값을 변경하는 부수효과가 있는데 쉽게 말하자면 피연산자의 값을 변경하는 암묵적인 할당이 이루어진다. 증가/감소 연산자는 연산자의 위치에 따라 의미가 달라지는데 피연산자 앞에 위치하면 전위 연산자, 뒤에 위치하면 후위 연산자라고 한다.

    전위 연산자는 피연산자의 값을 증가/감소시킨 후에 다른 연산을 수행하며 후위 연산자는 다른 연산을 수행한 후에 피연산자의 값을 증가/감소 시킨다.

    부호(+/-)를 바꾸는 연산자는 부수 효과가 없다.

  3. 문자열 연결 연산자

    +연산자는 피연산자 중 하나 이상이 문자열인 경우 문자열 연결 연결 연산자로 동작하고 외의 경우에는 산술 연산자로 동작한다.




✏️ 할당 연산자

할당 연산자는 오른족에 있는 피연산자의 평가 결과를 왼쪽에 있는 변수에 할당한다. 오른쪽의 변수에 값을 할당하기 때문에 변수 값이 변하는 부수효과가 존재한다.





✏️ 동등/일치 비교 연산자

자바스크립트 개발자라면 알아야 할 33가지 개념 #5 == vs === 3분만에 배우기 (번역)

  1. ===

    엄격한 동등성(타입과 값)을 비교하며 타입과 값이 모두 같아야 true를 반환한다.

    5 === 5   // true
    5 === '5' // false
    5 === '3' // false
  2. ==

    느슨한 동등 비교, 강제 형변환을 수행하는데 강제 형 변환이란 동등 연산자로 비교하기 전에 피연산자들을 공통 타입으로 만드는 행위를 말한다.

    5 == 5;    // true
    5 == '5';  // true
    5 === '3'; // false



✏️ 삼항 조건 연산자

조건식의 평가 결과에 따라 반환할 값을 결정하고 부수 효과는 없다.

조건식 ? 조건식이 true일 때 반환할 값 : 조건식이 false일 때 반환할 값;


const number = 4;
// 삼항 연산자
const result1 = (number % 2) ? '홀수' : '짝수';

// if ~ else문
const result;
if (number % 2) result = '홀수';
else result = '짝수';



✏️ 논리 연산자

논리 연산자의미
&&논리곱(AND)
!부정(NOT)

!연산자는 늘 불리언 값을 반환하지만 ||, && 연산자의 평가 결과는 불리언 값을 반환할수도 있지만 2개의 피연산자 중 어느 한쪽으로 평가될수도 있다.

profile
가오리의 코딩일기

0개의 댓글