为什么将bind方法用作表达式中的值时不起作用?

时间:2019-01-16 21:39:01

标签: javascript short-circuiting function-expression function-binding

将JS函数的bind方法当作一个值来处理,使其与三元运算符和短路运算符一起使用时,其行为异常。为什么会这样?

我试图通过使用三元运算符来使实用程序函数更短,但是它总是导致Uncaught TypeError: Bind must be called on a function

所以我尝试了一下,效果很好:

(Date.bind)(null)()

尽管如此,它却没有:

(true && Date.bind)(null)()

这也没有:

(true ? Date.bind : '')(null)()

根据对这些表达式的求值,我希望每个表达式都具有相同的输出(代表日期的字符串值),但它只在第一个表达式中发生,而另一个则导致错误Uncaught TypeError: Bind must be called on a function

0 个答案:

没有答案