const {sum, subtract} = require('./math')
let result, expected
result = sum(3, 7)
expected = 10
expect(result).toBe(expected)
function expect(actual) {
return {
toBe(expected) {
if (actual !== expected) {
throw new Error(`${actual} is not equal to ${expected}`)
}
},
}
}
是toBe {...}和对象还是函数?
在调用Expect(result).toBe(expected)时用作函数。但是,在Expect函数定义中,它看起来像对象,因为它没有function关键字。但是对象不接受参数。预先谢谢你。
答案 0 :(得分:0)
我认为您不熟悉ES6语法,可以在线搜索和阅读一些文章。
函数期望返回一个对象(返回{}); 该对象具有一个称为toBe的函数(其ES6在对象内部编写函数的方式,可以省略关键字功能)。
类似地,在ES6类中,无需使用关键字function