[TIL4me]자바스크립트 #02

소진수·2021년 7월 25일
0

JAVASCRIPT

목록 보기
4/10
post-thumbnail

7장. 연산자

  • 연산자는 하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입, 지수 연산 등을 수행해 하나의 값을 만든다.
    • 피연산자: 연산의 대상
      • 피연산자는 "값으로 평가될 수 있는 표현식"
    • 연산자 + 피연산자 = 값으로 평가되는 표현식

7-1. 산술연산자(arithmetic operator)

이항 산술 연산자(binary)

  • 2개의 피연산자를 산술 연산하여 숫자 값을 만듬

  • 피연산자의 값을 변경하는 부수효과(side affect)가 없다

    • 부수효과: 피연산자의 값이 바뀌는 것
  • 5 + 2, 7 + 2...

단항 산술 연산자(unary operator)

  • 1개의 피연사자를 산술 연산하여 숫자 값을 만든다

    • 피연산자의 값을 변경하는 부수효과가 있다

      • ++, -- 연산자들은 피연사자의 값을 변경하는 암묵적 할당이 이뤄짐

      ​ var x = 1 ;

      ​ x++;

      ​ console.log(x); // 2

      • 증가/감소 연산자의 위치에 따라 먼저 피연산자의 값을 증가/감소시킨 후, 다른 연산자를 수행할지 결정된다

        ​ var x = 2, result;

        result = x ++;

        ​ console.log(result, x); // 2, 3

        ----- ----- ----- ----- -----

        result = ++ x;

        ​ console.log(result, x); // 3, 3

      • 피연산자에 +단항 연산자를 사용하면 피연산자를 숫자 타입으로 변환, 반환한다.

        • 단순 숫자 타입으로 변환할 뿐, 값이 변하는 부수효과는 없다

문자열 연결 연산자

  • 피연산자 중 하나 이상이 문자열인 경우 문자열 연결 연산자로 동작한다.
    • 자바스크립트 엔진은 암묵적으로 타입이 자동 변환되기도 한다
      • 1 + true: 암묵적으로 불리언 타입의 true를 1로 강제 변환한 후 연산을 수행
      • 이를 암묵적 타입 변환(implicit coercion) / 타입 강제 변환(type coercion)

7-2. 할당 연산자

  • 할당문은 값으로 평가되는 표현식인 문으로서 / 할당된 값으로 평가됨
    • x = 10, y = 10: x와 y가 같은 값을 가지고 있기에 같다고 평가됨

7-3. 비교 연산자(comparison operator)

  • ==: 동등 비교(loose equality) = 값이 같음
  • ===: 일치 비교(strict equality) = 타입과 값이 같음

7-4. 삼항 조건 연산자(ternary operator)

  • 삼항조건연산자는 if.. else과 유사하지만 값으로 평가할 수 있는 표현식인 문이다

    • var x = 10;

      var result = x % 2 ? '홀수' : '짝수' ;


7-5. 논리 연산자(logical operator)

  • 우항과 좌항의 피연산자를 논리 연산한다

    • 드 모르간의 법칙으로 나은 가독이 가능하다

      • !(x && y) === (!x && !y)

7-6. 쉼표 연산자

  • 왼쪽 피연산자로부터 차례대로 피연산자를 평가하고

  • 마지막 피연산자의 평가가 끝나면 마지막 피연산자의 평가 결과 반환

    • Var x, y, z;

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

  • 식을 줄이는 방법으로 아래와 같이 사용할 수 있다(블로그 링크)

    • function fn() // { if (x) { foo(); return bar(); } else { return 1; } }

      function fn() // { return x ? (foo(), bar()) : 1; } 이와 같은식으로 식을 줄일 수 있다.


7-9. 지수 연산자

  • 지수 연산자는 좌항의 피연산자를 밑(base)로, 우항의 피연산자를 지수(exponent)로 제곱하여 값을 반환
    • 5 ** 2 = 25
profile
느려서 바쁘다

0개의 댓글