LECTURE/JavaScript
비교 연산자 & 단축 평가
heywoo
2023. 2. 6. 22:27
<비교 연산자>
- 동등 비교 ( ==, != ) : 암묵적 타입 변환을 통해 타입 일치 시킨 후 같은 값인지 비교
- 일치 비교 (===, !==) : 타입과 값이 모두 일치하는지 비교
- NaN은 자신과 일치하지 않는 유일한 값이다. 빌트인 함수 Number.isNaN을 사용해서 확인해야 한다.
- 비교 연산자를 통해 문자열끼리 비교도 가능하며 유니코드 순으로 비교한다.
- 일치 비교 연산자

- 대소 비교 연산자

<단축 평가>
표현식을 평가하는 도중 평가 결과가 확정 된 경우 나머지 평가 과정을 생략하는 것
1. &&, || 연산자 표현식의 결과는 때로는 불리언 값이 아닐 수도 있다.
- OR의 경우
'apple'이 이미 Truthy한 값이여서 true로 평가되고 논리 연산의 결과를 결정한 첫 번째 피연산자 'apple'을 그대로 반환한다.
- AND의 경우

좌항, 우항 모두 확인해야 하므로 논리 연산의 결과를 결정하는 두 번째 피연산자 'banana'를 그대로 반환한다.
2. 단축 평가를 활용하면 if문을 대체할 수 있다.
3. 객체를 가리키기를 기대하는 변수가 null 또는 undefined가 아닌지 확인하고 프로퍼티를 참조할 때
var obj = null;
var val = obj.value;
// TypeError: Cannot read properties of null (reading 'value')
obj가 Falsy(null, undefined) 값이면 좌항만 실행하여 val -> null
obj가 Truthy 값이면 val -> obj.value