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

在学习 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 中构建出色内容的绝佳方法。我希望你喜欢:)

立即学习“Java免费学习笔记(深入)”;

以上就是在学习 javascript 的同时编写一个测试函数的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2672459.html

(0)
上一篇 2025年3月7日 13:26:30
下一篇 2025年3月7日 13:26:40

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Vanilla JS 效果方法

    过去,我经常使用 jquery,我喜欢 jquery 的一点是它通过简单且轻量级的语法提供了许多有用的方法。最常用的 jquery 方法之一是效果方法 – 用于为网站创建动画效果。 例如: 隐藏()/显示()切换()淡入()淡出…

    2025年3月7日
    000
  • React 现代 Web 开发的游戏规则改变者

    介绍 react 是用于构建用户界面的流行 javascript 库,即将在其即将发布的版本 19 中实现巨大飞跃。随着 react 19 的发布,世界各地的开发人员都对新功能和改进感到兴奋,这些新功能和改进有望彻底改变我们构建 web 应…

    2025年3月7日
    200
  • 安全最佳实践

    确保全栈应用程序的安全对于保护用户数据、维护信任和遵守法规至关重要。在本指南中,我们探讨了保护您的应用程序的基本安全最佳实践和技术。 为什么安全很重要 安全漏洞可能会造成严重后果,包括数据盗窃、服务中断和声誉受损。采用强大的安全实践可以降低…

    2025年3月7日
    200
  • 从 Code Monkey 到 DX Champion – 您的一体化开发者体验平台

    在实际编码开始之前,每个开发人员都面临着耗时的设置阶段。作为具有计算机科学背景的开发人员传播者,我介绍了 DronaHQ 如何通过简化设置和改善整体开发人员体验来转变开发流程。 开发人员的困境:从设置到发布 每个开发人员都经历过这样的日子:…

    2025年3月7日
    200
  • npm run dev 报错

    我们在尝试启动 react 应用程序时经常遇到以下错误。 packit-frontend@0.0.0 devvitefile:///home/ariel/desktop/packit/packit-frontend/node_modules…

    2025年3月7日
    200
  • 在 Javascript 中将字符串标题转换为 Slug

    要使用 javascript 将标题转换为 slug 格式,您需要将标题转换为 url 友好的字符串。这通常涉及小写字符串、用连字符替换空格和其他非字母数字字符以及删除任何前导或尾随连字符。以下是有关如何实现此目标的分步指南: 将字符串转换…

    2025年3月7日
    200
  • OOP 中的对象组合和抽象

    对象组合和抽象是 php 面向对象编程 (oop) 中的基本概念。 对象组成: 对象组合是一种对象由一个或多个其他对象组成的技术。这允许: 代码重用维护更方便更加灵活 在 php 中,对象组合是通过使用属性或方法将一个类包含在另一个类中来实…

    2025年3月7日
    200
  • 可选与未定义:如何检查可选属性

    在 typescript 中,如果可以从对象中省略某个属性,则该属性被认为是可选的,这意味着它可以是未定义的,也可以是根本不提供的。可选属性使用 ? 表示属性键上的后缀。确定一个属性是可选的还是显式定义为 undefined 的类型可能非常…

    2025年3月7日
    200
  • JS:承诺还是回调?

    理解 javascript 中的 promise 与 callback 认证测试的关键问题和解答 什么是回调函数,它与常规函数有何不同? 回调函数作为参数传递给另一个函数并被调用来处理异步操作。与常规函数不同,回调被设计为在完成某个任务后执…

    2025年3月7日
    200
  • 了解 JavaScript 中的包、依赖关系和模块

    我注意到术语“包”、“依赖项”和“模块”存在一些混淆。让我们澄清这些概念,以帮助您在项目中正确使用它们。 包裹 包是捆绑在一起以提供特定功能的文件的集合。在 javascript 生态系统中,包通常通过 npm(节点包管理器)分发。一个包裹…

    2025年3月7日
    200

发表回复

登录后才能评论