首页 > 解决方案 > 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
}

或类似的东西?

标签: node.js

解决方案


是的,你可以这么做。只需将声明移出 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/


推荐阅读