🔑 키워드 정리
- 피연산자 : 연산의 대상, 값으로 평가될 수 있는 표현식.
- 이항 산술 연산자 : 2개의 피연산자를 산술 연산하여 값을 만드는 연산자.
- 그룹 연산자 : 소괄호((, )) 로 피연산자를 감싸는 연산자. 연산자 우선순위가 가장 높다.
- 지수 연산자 : ** 연산자로서, 좌항의 피연산자를 밑으로, 우항을 지수로 거듭제곱하여 값을 반환한다. Math.pow 메서드보다 가독성이 좋다.
🗒 내용 정리
- 산술 연산
어떤 산술 연산을 해도 피연산자의 값이 바뀌는 경우는 없고, 언제나 새로운 값을 반환한다. 단, 증가/감소(++/--) 연산자는 피연산자의 값을 변경한다.
- 암묵적 타입 변환 또는 타입 강제 변환
숫자 타입이 아닌 피연산자에 + 단항 연산자를 사용하면 피연산자를 숫자 타입으로 변환시킨다. 피연산자 중에 하나 이상이 문자열이라면 문자열을 연결해서 반환한다.
var x = 1;
x = true;
console.log(+x); // 1
x = false;
console.log(+x); // 0
x = 'Hello';
console.log(+x); // NaN. 문자열은 숫자로 타입 변환할 수 없다.
console.log(x + '2'); // 12
- 비교 연산자
동등 비교 연산자는 암묵적 타입 변환을 해서 값을 비교한다. 결과를 예측하기 어렵고 실수할 수 있기 때문에 되도록 일치 연산자를 사용하는 것이 좋다.
5 == '5'; // true
5 === '5'; // false
NaN은 자신과 일치하지 않는 유일한 값이다.
NaN === NaN; // false
NaN을 비교할 때는 Object.is 메서드를 사용하자.
Object.is(NaN, NaN); // true
- 자바스크립트 첫번째 버전의 버그
typeof null // → "object"
- 삼항 조건 연산자는 if ...else 문과 같이 동작하지만 그것과 달리 값으로 평가할 수 있다.
'Today I Learned' 카테고리의 다른 글
운영체제와 정보기술의 원리4 프로그램의 구조와 실행 (0) | 2022.01.30 |
---|---|
모던 자바스크립트 Deep Dive 8장 제어문 (0) | 2022.01.24 |
모던 자바스크립트 Deep Dive 6장 데이터 타입 (0) | 2022.01.24 |
운영체제와 정보기술의 원리3 컴퓨터 시스템의 동작 원리 (0) | 2022.01.23 |
모던 자바스크립트 Deep Dive 5장 표현식과 문 (0) | 2022.01.16 |