const result = Object.is(10, "10");
console.log(result);//false
const one = {}, two = {}
console.log(Object.is(one, two));
⇒ one이 참조하는 메모리주소와 two가 참조하는 메모리주소는 다르다.
console.log((undefined == null));//true
console.log((undefined === null));//false
console.log(Object.is(undefined, null));//false
console.log((NaN === NaN));//false
console.log(Object.is(NaN, NaN));//true
console.log((NaN === 0/0));//false
console.log(Object.is(NaN, 0/0));//true
console.log((0 === -0));//true
console.log(Object.is(0, -0));//false
function check(data){
if(Object.is(typeof data, "object")){
console.log(data);
} else {
console.log("object 타입이 아님");
}
};
check({value:10});//{value: 10}
check(200);//object 타입이 아님
const sports = {
event: "축구",
player: 11
};
let dup = {};
Object.assign(dup, sports);
console.log(dup);//{event: 축구, player: 11}
try{
const obj = Object.assign(null, {});
} catch(e){
console.log("null 작성 불가");
};
const obj = Object.assign(100);
console.log(obj.valueOf());//100
⇒ 첫 번째 파라미터를 작성하지 않거나 null, undefined를 작성하면 TypeError
⇒ 첫 번째 파라미터에 Number를 작성하면 Number 인스턴스를 생성 후 파라미터 값 100을 [[PrimitiveValue]]에 설정 하여 인스턴스를 반환합니다. Boolean, String, Symbol도 동일합니다.