모던 자바스크립트 Deep Dive : 7장

jaejin·2024년 2월 12일

7장. 연산자

7.1 산술 연산자

  • 숫자 타입이 아닌 피연산자에 + 단항 연산자를 사용하면 피연산자를 숫자 타입으로 변환하여 반환한다. 피연산자를 변경하는 것이 아니라 숫자 타입으로 값을 생성해서 반환한다.
  • - 단항 연산자는 피연산자의 부호를 반전한 값을 반환한다.

7.2 할당 연산자

  • 할당문은 값으로 평가되는 표현식인 문으로서 할당된 값으로 평가된다.
var x;

console.log(x = 10); // 10

7.3 비교 연산자

  • NaN은 자신과 일치하지 않는 유일한 값이다.
  • 자바스크립트는 양의 0과 음의 0을 동일하다고 평가한다.
  • 위의 케이스를 정확히 비교하기 위해서는 Object.is 메서드를 사용할 수 있다.
NaN === NaN; // -> false
Object.is(NaN, NaN); // -> true

0 === -0; // -> true
Object.is(0, -0); // -> false
  • Object.is 메서드와 === 연산자의 유일한 차이는 부호있는 0NaN 값들에 대한 처리이다.

7.6 쉼표 연산자

  • 쉼표(,) 연산자는 왼쪽 피연산자부터 평가하고 마지막 피연산자의 평가가 끝나면 마지막 피연산자의 평가 결과를 반환한다.
var x, y, z;

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

7.8 typeof 연산자

  • typeof 연산자로 null 값을 연산하면 null이 아닌 object를 반환하는데 이는 자바스크립트의 첫 번째 버전의 버그이다.
  • 선언하지 않은 식별자를 typeof 연산자로 연산해 보면 ReferenceError가 발생하지 않고 undefined를 반환한다.
profile
jjlabsio

0개의 댓글