三元函数return Node js中的Nan
Ternary function return Nan in Node js
代码:
function sumfunct(x,y)
{
let sum = 0;
sum = (x === null ? 0 : x) + (y === null ? 0 : y);
return sum;
}
如果输入值之一为空,则它 returns Nan
请帮我return一些价值
为您的函数参数添加默认值。
const sum = (x = 0, y = 0) => x + y;
如果它们是 null
或 undefined
,则值将为 0;
为了更好的处理,您可以使用类似的东西:
const sum = (x, y) => {
const a = Number.isFinite(+x) ? +x : 0;
const b = Number.isFinite(+y) ? +y : 0;
return a + b;
}
逻辑运算符===
匹配类型和值。如果您不传递参数,则默认值为 undefined
,它不为 null,因此您向 undefined 添加一个数字。
function sumfunct(x,y)
{
let sum = 0;
sum = (!x ? 0 : x) + (!y ? 0 : y);
return sum;
}
在 JavaScript 中所有这些值:(0, undefined, null, false, '') Will return false.
如果你使用三元组=喜欢===。这也检查类型。因此,如果您将 undefined 作为值,则 === 不会为 null。
检查这里的简单功能,这可能会解决你的问题。
function sumfunct(x,y)
{
let sum = 0;
sum = (x ? x : 0) + (y ? y : 0);
return sum;
}
您可以将默认值作为 0
.undefine
和 null
替换为 0
function sumfunct(x=0,y=0)
{
let sum = 0;
sum = x + y;
return sum;
}
sumfunct(console.log(sumfunct(2, undefined)))
sumfunct(console.log(sumfunct(2, null)))
您也可以只分别检查两个输入
function sumfunct(x,y)
{
x = (x === null ? 0 : x);
y = (y === null ? 0 : y);
return x+y;
}
console.log(sumfunct(2,2));
console.log(sumfunct(2,null));
一种更短的方法。每个 falsey
值(0
、null
或 undefined
)都将转换为 0:
function sumfunct(x,y)
{
let sum = 0;
sum = (x || 0) + (y || 0);
return sum;
}
在此处尝试代码段
function sumfunct(x,y)
{
let sum = 0;
sum = (x || 0) + (y || 0);
return sum;
}
console.log(sumfunct(2, 2)); // 4
console.log(sumfunct(3)); // 3
console.log(sumfunct(null, 2)); // 2
console.log(sumfunct(undefined, undefined)); // 0
代码:
function sumfunct(x,y)
{
let sum = 0;
sum = (x === null ? 0 : x) + (y === null ? 0 : y);
return sum;
}
如果输入值之一为空,则它 returns Nan
请帮我return一些价值
为您的函数参数添加默认值。
const sum = (x = 0, y = 0) => x + y;
如果它们是 null
或 undefined
,则值将为 0;
为了更好的处理,您可以使用类似的东西:
const sum = (x, y) => {
const a = Number.isFinite(+x) ? +x : 0;
const b = Number.isFinite(+y) ? +y : 0;
return a + b;
}
逻辑运算符===
匹配类型和值。如果您不传递参数,则默认值为 undefined
,它不为 null,因此您向 undefined 添加一个数字。
function sumfunct(x,y)
{
let sum = 0;
sum = (!x ? 0 : x) + (!y ? 0 : y);
return sum;
}
在 JavaScript 中所有这些值:(0, undefined, null, false, '') Will return false.
如果你使用三元组=喜欢===。这也检查类型。因此,如果您将 undefined 作为值,则 === 不会为 null。
检查这里的简单功能,这可能会解决你的问题。
function sumfunct(x,y)
{
let sum = 0;
sum = (x ? x : 0) + (y ? y : 0);
return sum;
}
您可以将默认值作为 0
.undefine
和 null
替换为 0
function sumfunct(x=0,y=0)
{
let sum = 0;
sum = x + y;
return sum;
}
sumfunct(console.log(sumfunct(2, undefined)))
sumfunct(console.log(sumfunct(2, null)))
您也可以只分别检查两个输入
function sumfunct(x,y)
{
x = (x === null ? 0 : x);
y = (y === null ? 0 : y);
return x+y;
}
console.log(sumfunct(2,2));
console.log(sumfunct(2,null));
一种更短的方法。每个 falsey
值(0
、null
或 undefined
)都将转换为 0:
function sumfunct(x,y)
{
let sum = 0;
sum = (x || 0) + (y || 0);
return sum;
}
在此处尝试代码段
function sumfunct(x,y)
{
let sum = 0;
sum = (x || 0) + (y || 0);
return sum;
}
console.log(sumfunct(2, 2)); // 4
console.log(sumfunct(3)); // 3
console.log(sumfunct(null, 2)); // 2
console.log(sumfunct(undefined, undefined)); // 0