Javascript有条件地调用链式方法

标签 javascript jestjs

是否有机会有条件地运行链式方法?

我想将此表达式简化为单行代码,但无法找到预期中阻塞 .not. 的解决方案。

const checkSomething = (element, value = true) => {
  if (value) {
    expect(element).toBeVisible()
  } else {
    expect(element).not.toBeVisible()
  }
}

最佳答案

您可以使用立即调用的箭头函数来创建单行表达式:

const checkSomething = (element, value = true) => {
  (e => value ? e : e.not)(expect(element)).toBeVisible()
}

这个基本一样

const checkSomething = (element, value = true) => {
  const e = expect(element);
  (value ? e : e.not).toBeVisible()
}

关于Javascript有条件地调用链式方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73563027/

相关文章:

javascript - 以编程方式选择 jqgrid 所有页面的所有行?

javascript - 如何防止该函数在x毫秒内执行超过2次?

javascript - 下拉菜单中的下拉菜单不起作用

typescript - 用 Jest 测试 TypeScript : "no overload matches this call"

javascript - 除非先前定义,否则嵌套 Jest 模拟失败

Javascript 无法在克隆后取消隐藏元素?

javascript - 保持混合 float 元素的视觉顺序

javascript - react native 重复错误 : Duplicated files or mocks

javascript - 开 Jest : How to test function that returns a function

node.js - 如何在 Jest 中模拟链式函数?