Código:
function sumfunct(x,y) { let sum = 0; sum = (x === null ? 0 : x) + (y === null ? 0 : y); return sum; }si uno de los valores de entrada es nulo, devuelve Nan
Por favor, ayúdame a devolver algún valor.
Agregue valores predeterminados a los argumentos de su función.
const sum = (x = 0, y = 0) => x + y; En caso de que sean null o undefined los valores serán 0;
Para un mejor manejo, puede usar algo como:
const sum = (x, y) => { const a = Number.isFinite(+x) ? +x : 0; const b = Number.isFinite(+y) ? +y : 0; return a + b; }El operador lógico === coincide tanto con el tipo como con el valor. Si no pasa un argumento, el valor predeterminado es undefined , que no es nulo, por lo tanto, agrega un número a indefinido.
function sumfunct(x,y) { let sum = 0; sum = (!x ? 0 : x) + (!y ? 0 : y); return sum; }En JavaScript, todos esos valores: (0, indefinido, nulo, falso, '') devolverán falso.
Si usas el triple = like ===. Esta verificación también el TIPO. Entonces, si tiene undefined como valor, esto no será === nulo.
Verifique la función simple aquí, esto puede resolver su problema.
function sumfunct(x,y) { let sum = 0; sum = (x ? x : 0) + (y ? y : 0); return sum; }