Why am I getting an infinite loop when I don't define the parameters?
===

I would like to know why I am getting an infinite loop here. I just don't want to pass this initial values, so if they are `undefined` they get automatically calculated. Its just to clean my function call to use only a single parameter. If I pass them everything runs ok and the process ends. Can anyone help? Thanks

	function merge(array, lower, half, upper){
		//Suppressed for the sake of brevity
	}
	
	function mergeSort(array, lower, upper){
		if(!lower && !upper){ //take a look here
			lower = 0;
			upper = array.length - 1;
		}
		
		if(lower < upper){
			var half = Math.floor((lower + upper)/2);
			
			mergeSort(array, lower, half);
			mergeSort(array, half + 1, upper);
			merge(array, lower, half, upper);
		}
	}
	
	var array = [8, 3, 6, 4, 1, 0, 23, 12, 15, 63];
	mergeSort(array); //infinite loop here
	console.log(array);