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

Javascript 这是返回的函数还是对象?,javascript,Javascript,toBe{…}是对象还是函数 当您调用expect(result).toBe(expected)时,它被用作函数。但是,在expect函数定义中,它看起来像一个对象,因为它没有函数关键字。但是,对象不接受参数。提前谢谢。我想您对ES6语法还不熟悉,可以在线搜索和阅读一些文章 函数expect正在返回一个对象(返回{}); 该对象有一个名为toBe的函数(在对象内部编写函数的ES6方式,您可以省略关键字函数) 类似地,在ES6类中,没有必要使用关键字函数toBe是一个函数。从技术上讲,函数是对象…

toBe{…}是对象还是函数


当您调用expect(result).toBe(expected)时,它被用作函数。但是,在expect函数定义中,它看起来像一个对象,因为它没有函数关键字。但是,对象不接受参数。提前谢谢。

我想您对ES6语法还不熟悉,可以在线搜索和阅读一些文章

函数expect正在返回一个对象(返回{}); 该对象有一个名为toBe的函数(在对象内部编写函数的ES6方式,您可以省略关键字函数)


类似地,在ES6类中,没有必要使用关键字函数

toBe
是一个函数。从技术上讲,函数是对象…@Li357为什么不声明关键字函数就可以创建函数?@AndrewRivera方法和箭头函数不使用关键字。
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}`)
      }
    },
  }
}