Javascript 未处理的空字符串类型无效
我正在尝试创建一个Javascript 未处理的空字符串类型无效,javascript,Javascript,我正在尝试创建一个isEmpty函数,该函数将验证任何值,并在值为null或未定义时将其返回空字符串 由于某种原因,我的下面的函数不起作用,值仍然未处理。当我直接输入类型时,它似乎工作得很好。我有什么遗漏吗 const isEmpty=value=>{ 值===未定义|| 值的类型==“未定义”|| 值===null|| (typeof value==“object”&&object.keys(value.length==0)|| (typeof value==“string”&&value.
isEmpty
函数,该函数将验证任何值,并在值为null或未定义时将其返回空字符串
由于某种原因,我的下面的函数不起作用,值仍然未处理。当我直接输入类型时,它似乎工作得很好。我有什么遗漏吗
const isEmpty=value=>{
值===未定义||
值的类型==“未定义”||
值===null||
(typeof value==“object”&&object.keys(value.length==0)||
(typeof value==“string”&&value.trim().length==0);
};
常量数据={};
data.handle=!isEmpty(data.handle)?data.handle:“”;
log(“data.handle仍未定义:”+typeof data.handle);
if(typeof data.handle==“未定义”){
data.handle=“”;
log(“空字符串yes!!!”;
}
您缺少return
语句,因此您的函数
返回未定义的
const isEmpty=value=>{
//你什么也不退
返回值===未定义||
值的类型==“未定义”||
值===null||
(typeof value==“object”&&object.keys(value.length==0)||
(typeof value==“string”&&value.trim().length==0);
};
常量数据={};
data.handle=!isEmpty(data.handle)?data.handle:“”;
log(“data.handle仍未定义:”+typeof data.handle);
if(typeof data.handle==“未定义”){
data.handle=“”;
log(“空字符串yes!!!”;
}
您缺少return
语句,因此您的函数
返回未定义的
const isEmpty=value=>{
//你什么也不退
返回值===未定义||
值的类型==“未定义”||
值===null||
(typeof value==“object”&&object.keys(value.length==0)||
(typeof value==“string”&&value.trim().length==0);
};
常量数据={};
data.handle=!isEmpty(data.handle)?data.handle:“”;
log(“data.handle仍未定义:”+typeof data.handle);
if(typeof data.handle==“未定义”){
data.handle=“”;
log(“空字符串yes!!!”;
}
箭头函数可以有“简明体”或通常的“块体”
在简明体中,只指定一个表达式,该表达式将成为隐式返回值在块体中,必须使用显式返回语句。
因为您已将方法包装在花括号中,所以它被视为块体
在其前面添加一个return
,或者更简单的是,通过删除花括号使其成为简洁的正文:
const isEmpty=value=>
值===未定义||
值的类型==“未定义”||
值===null||
(typeof value==“object”&&object.keys(value.length==0)||
(typeof value==“string”&&value.trim().length==0);
常量数据={};
data.handle=!isEmpty(data.handle)?data.handle:“”;
log(“data.handle仍未定义:”+typeof data.handle);
if(typeof data.handle==“未定义”){
data.handle=“”;
log(“空字符串yes!!!”;
}
箭头函数可以有“简明体”或通常的“块体”
在简明体中,只指定一个表达式,该表达式将成为隐式返回值在块体中,必须使用显式返回语句。
因为您已将方法包装在花括号中,所以它被视为块体
在其前面添加一个return
,或者更简单的是,通过删除花括号使其成为简洁的正文:
const isEmpty=value=>
值===未定义||
值的类型==“未定义”||
值===null||
(typeof value==“object”&&object.keys(value.length==0)||
(typeof value==“string”&&value.trim().length==0);
常量数据={};
data.handle=!isEmpty(data.handle)?data.handle:“”;
log(“data.handle仍未定义:”+typeof data.handle);
if(typeof data.handle==“未定义”){
data.handle=“”;
log(“空字符串yes!!!”;
}
您的函数不会返回任何内容……谢谢!这帮了大忙,很高兴知道。我仍在努力熟悉语法。您的函数不会返回任何内容……谢谢!这帮了大忙,很高兴知道。我仍在努力熟悉语法。Meta注意:虽然修复非常简单,但我选择不将其标记为“简单的印刷错误”。我觉得,为什么简单的修复是必要的,背后的实际解释需要更深入的解释,而不是“打字错误”。肯定不是打字错误,但我是javascript语法的新手。您附加的链接将非常有用。谢谢Meta注意:虽然修复非常简单,但我选择不将其标记为“简单的印刷错误”。我觉得,为什么简单的修复是必要的,背后的实际解释需要更深入的解释,而不是“打字错误”。肯定不是打字错误,但我是javascript语法的新手。您附加的链接将非常有用。谢谢