본문 바로가기

Javascript

동치 비교 및 동일성

strict equality ,no type conversion

 

var num = 0;
var obj = new String("0");
var str = "0";
var b = false;

console.log(num === num); // true
console.log(obj === obj); // true
console.log(str === str); // true

console.log(num === obj); // false
console.log(num === str); // false
console.log(obj === str); // false
console.log(null === undefined); // false
console.log(obj === null); // false
console.log(obj === undefined); // false

 

 

 

loose equality , with type conversion

 

const num = 0;
const big = 0n;
const str = '0';
const obj = new String('0');

console.log(num == str); // true
console.log(big == num); // true
console.log(str == big); // true

console.log(num == obj); // true
console.log(big == obj); // true
console.log(str == obj); // true

 

 

object equality 

 

const seok1 = {name: 'seok'};
const seok2 = {name: 'seok'};
const seok3 = seok1

console.log(seok1 == seok2) //false 
console.log(seok1 === seok2)//false
console.log(seok1 == seok3) //true
console.log(seok1 === seok3)//true


 

equality -puzzler

 

console.log(0 == false) //true
console.log(0=== false)//false
console.log('' == false) //true
console.log('' === false)//false
console.log(null == undefined) //true
console.log(null === undefined)//false

 

'Javascript' 카테고리의 다른 글

String.prototype method  (0) 2022.01.15
Array.prototype method  (0) 2022.01.15
표현식과 연산자  (0) 2022.01.15
데이터타입 , undefined, null, NaN 차이점  (0) 2022.01.15
원시타입(primitive type)과 참조타입(reference type)  (0) 2022.01.15