每日一题:相不相等
发表于:2024-12-10
字数统计:563 字
预计阅读2分钟
介绍
小蓝想要自己开发一套用于 JS 单元测试的基础 API,先从编写一个用于检验两个数据值是否相等的函数开始吧,但是此时的小蓝却犯了难,聪明的你快来帮帮他吧~
准备
开始答题前,需要先打开本题的项目代码文件夹,目录结构如下:
txt
└── index.js其中:
index.js是需要补充代码的 js 文件。
目标
请你编写一个名为 expectFn 的函数,用于帮助开发人员测试他们的代码。它可以通过参数 val 接受任何值,并返回一个对象,该对象包含下面两个函数:
toBe(val):接受另一个值并在两个值相等(===)时返回true。如果它们不相等,则返回 "Not Equal" 。notToBe(val):接受另一个值并在两个值不相等(!==)时返回true。如果它们相等,则返回 "Equal" 。
示例如下:
js
// 示例 1:
输入:console.log(expectFn(5).toBe(5))
输出:true
解释:5 === 5 因此该表达式返回 true。
// 示例 2:
输入:console.log(expectFn(5).toBe(null))
输出:"Not Equal"
解释:5 !== null 因此抛出错误 "Not Equal".
// 示例 3:
输入:console.log(expectFn(5).notToBe(5))
输出:"Equal"
解释:5 === 5 因此抛出错误 "Equal".
// 示例 4:
输入:console.log(expectFn(5).notToBe(null))
输出:true
解释:5 !== null 因此该表达式返回 true.规定
- 请勿修改
index.js文件中 TODO 之外的任何内容。 - 请严格按照考试步骤操作,切勿修改考试默认提供项目中的文件名称、文件夹路径、class 名、id 名、图片名等,以免造成判题无法通过。
判分标准
- 本题完全实现题目目标得满分,否则得 0 分。
总通过次数: 794 | 总提交次数: 935 | 通过率: 84.9%
难度: 中等 标签: 2023, 省模拟赛, Web 前端
题解
js
/**
* @param {string} val
* @return {Object}
*/
var expectFn = function(val) {
// TODO
return {
toBe(val2) {
if (val === val2) {
return true
} else {
return 'Not Equal'
}
},
notToBe(val3) {
if (val !== val3) {
return true
} else {
return 'Equal'
}
}
}
};