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

모든 자바스크립트 개발자가 알아야하는 33가지 개념

Posted by doubler
,