Нет никакого способа сделать это с обычными операторами /
и /=
.
Лучший способ сделать то, что вы хотите, - это защита:
function notZero(n) {
n = +n; // Coerce to number.
if (!n) { // Matches +0, -0, NaN
throw new Error('Invalid dividend ' + n);
}
return n;
}
, а затем выполните деление, подобное
numerator / notZero(denominator)
. В качестве альтернативы вы всегда можете защитить выход
function dividend(numerator, denominator) {
var quotient = numerator / denominator;
if (quotient !== quotient) { throw new Error(numerator + " / " + denominator); }
return quotient;
}
, но это потеряет читаемость и выразительность /=
.