【发布时间】:2016-07-20 10:19:09
【问题描述】:
有什么方法可以检查 JavaScript 绑定函数吗?
我想从一个函数返回一个绑定函数,并在单元测试中断言绑定函数的目标、boundThis 和 boundArgs。它们似乎在 ECMAScript 中被定义为内部对象,无法在程序中访问。
有什么方法可以访问它们吗?或者可能有类似需求的人已经写了一些模块补丁 Function.prototype.bind()?
【问题讨论】:
-
FWIW... 在单元测试中,您通常希望测试一段代码的作用,而不是如何。 “什么”是测试,“如何”是执行。这似乎是在单元测试中关注的错误。
-
见stackoverflow.com/questions/26545549/…。调用绑定函数时使用的
this不是函数上的某种隐藏属性。它是用于包装原始函数以创建绑定函数的逻辑的一部分。你不能检查它,就像你不能检查函数中的局部变量或函数内部的任何其他逻辑一样,正如@Bergi 正确指出的那样,你不想也不应该这样做。
标签: javascript