PHP Sanitize Data

Нет никакого способа сделать это с обычными операторами / и /=.

Лучший способ сделать то, что вы хотите, - это защита:

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;
}

, но это потеряет читаемость и выразительность /=.

13
задан Jochem Kuijpers 5 June 2016 в 12:43
поделиться