|| 和 ??

73 阅读1分钟

一、 ||

function(obj){ var a = obj || {} }

等价于

function(obj){
    var a;
	if(
		obj === 0 || 
		obj === "" || 
		obj === false || 
		obj === null || 
		obj === undefined
	){
 		a = {}
 	} else {
		a = obj;
	}
}

二、??

function(obj){ var a = obj ?? {} }

等价于

function(obj){ 
    var a; 
    if( obj === null || obj === undefined ){ 
        a = {} 
    } else {
        a = obj; 
    } 
 }