这是要返回的函数还是对象?

时间:2018-12-16 01:23:02

标签: javascript

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关键字。但是对象不接受参数。预先谢谢你。

1 个答案:

答案 0 :(得分:0)

我认为您不熟悉ES6语法,可以在线搜索和阅读一些文章。

函数期望返回一个对象(返回{}); 该对象具有一个称为toBe的函数(其ES6在对象内部编写函数的方式,可以省略关键字功能)。

类似地,在ES6类中,无需使用关键字function