double equals & triple equals
- 자바스크립트에는 equals 비교를 위한 두 가지 연산자가 존재한다.
- "==" & "===" 가 있다.
Double Equality (==)
- 느슨한 형태의 동등성 비교를 수행한다.
- 서로 다른 타입이라도 해당 값이 동일하다면 결과값은 true 가 나온다.
- 서로 다른 타입이라면 Type Coercion 즉 강제 형변환을 수행한다.
/**
* Double Equals (==)
* - loose (perform type coercion)
*/
console.log(5 == '5'); // true
console.log('Hello' == 'bye'); // false
console.log(true == 1); // true
console.log(null == null); // true
console.log(undefined == undefined); // true
console.log(null == undefined); // true
console.log(null === undefined); // false
Triple Equality (===)
- 엄격하게 동등성 비교를 수행한다.
- 값의 타입과 갑의 내용을 비교하고 완전하게 동일한 값이어야 true 가 나온다.
/**
* Triple Equals (===)
* - strict (type & value)
*/
console.log(5 === 5); // true
console.log('Hello' === 'Hello'); // true
console.log(true === true); // true
// another case
console.log(5 === '5'); // false
console.log(String(5) === '5'); // true
console.log('Hello' === 'bye'); // false
console.log(true === 1); // false
reference
'javascript > JS 33 Concepts' 카테고리의 다른 글
20190702 33-JS-Concepts :: 08 IIFE (0) | 2019.07.02 |
---|---|
20190506 33-JS-Concepts :: 06 Functions (0) | 2019.06.06 |
20190526 33-JS-Concepts :: 04 Type Coercion (0) | 2019.05.26 |
20190525 33-JS-Concepts :: 03 Values Type & Reference Types (0) | 2019.05.25 |
20190524 33-JS-Concepts :: 02. Primitive Type (0) | 2019.05.24 |