node.js - Javascript分配变量并检查不为空
问题描述
你能在同一行进行布尔检查和赋值吗?
即,如果我有一个可以返回值或可以返回 null 的函数。
const someFunc = () => {
if (someCondition) return null;
return 'Hello, world';
}
我想在另一个函数中使用该值,但只有当它不为空时,我才能这样做......
const someOtherFunction = () => {
let value = someFunc();
if (!value) return;
// do something
}
我可以将这两行包装成一个“分配和验证”检查,比如......
if (let value = someFunc()) {
// do something
}
或类似的东西?
解决方案
是的,你可以这么做。只需将声明移出 if 语句
function someFunc(){
if (true) return null;
return 'Hello, world';
}
var value=null;
if (value = someFunc()) {
alert(value);
}
else{
alert('not hello')
}
这是小提琴链接,以便您可以使用它 - https://jsfiddle.net/mz09rca1/
推荐阅读
- ios - 当我添加 self.init(url: url) 时,为什么要求调用 self.init?
- python - 如何选择图像的一部分,然后使用 JES 将图像的选定部分以棋盘图案粘贴到另一个图像中?
- python - 当我添加小部件时,Tkinter 框架会调整大小
- python - Python Selenium:元素不可点击
- r - 如何循环将列添加到数据框中的命令?
- html - 电子邮件基础:垂直对齐不适用于移动设备
- ruby-on-rails - 如何使用选择但允许模型中的所有字段
- elasticsearch - Filebeat 默认仪表板:未找到结果
- rasa-nlu - 使用 rasa NLU 将用户请求的自定义操作提取为实体
- reactjs - ReactJS 上下文 > 从状态函数中引用最新状态值