在学习 javascript 的同时编写一个测试函数

物体无处不在嗯,您之前可能听说过 javascript 中的对象以及它们对于理解该语言的重要性。 对象因其“key”:“value”模型而使 js 变得非常可读和有用。但我想强调的是,“值”部分不仅接受一个简单的字符串,还接受另一个对象,而

在学习 javascript 的同时编写一个测试函数

物体无处不在

嗯,您之前可能听说过 javascript 中的对象以及它们对于理解该语言的重要性。
对象因其“key”:“value”模型而使 js 变得非常可读和有用。但我想强调的是,“值”部分不仅接受一个简单的字符串,还接受另一个对象,而该对象又可能是另一个对象,依此类推。例如:

const character = {
      name:"arthur morgan",
      age:24,
      face: {
      hairsize:5,
      eyescolor: "blue",
      }
}

登录后复制

这个片段表明,脸既是一个对象,也是一个角色。这样做完全没问题,而且许多复杂的 api 都会处理这样的数据,并在重要时一遍又一遍地进行分组。

但是对象的真正力量依赖于函数,这个 leet code 问题就解决了这个问题,并为我们提供了测试库在幕后如何工作的要点。基本上,您需要一个函数来验证值是否等于预期值:tobe() 和 nottobe()。为此,我们可以返回一个具有这些函数的对象。顺便说一句,使用箭头函数让它更漂亮、更直接。

这就是答案。

function expect(val) {
  function tobe(anothervalue) {
    if (val === anothervalue) {
      return true;
    }

    throw error("not equal");
  }

  function nottobe(anothervalue) {
    if (val !== anothervalue) {
      return true;
    }

    throw error("equal");
  }

  return {
    tobe: (anothervalue) => tobe(anothervalue),
    nottobe: (anothervalue) => nottobe(anothervalue),
  };
}

登录后复制

我们可以使用另一个对象快速看到它的运行:著名的控制台及其功能日志。

console.log(expect(5).toBe(null)); // give us an error "Not Equal", because 5 is not null

登录后复制

请注意,返回对象的事实使我们可以自由地使用 expect(),然后紧接着使用.tobe()。这是因为我们返回一个对象并立即访问属性 tobe,这是一个函数。

这个 leet 代码问题是了解对象和函数如何协同工作并在 javascript 中构建出色内容的绝佳方法。我希望你喜欢:)

以上就是在学习 javascript 的同时编写一个测试函数的详细内容,更多请关注叮当号网其它相关文章!

文章来自互联网,只做分享使用。发布者:weapp,转转请注明出处:https://www.dingdanghao.com/article/657462.html

(0)
上一篇 2024-07-27 19:35
下一篇 2024-07-27 19:35

相关推荐

联系我们

在线咨询: QQ交谈

邮件:442814395@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信公众号