也许是一个理论性的问题,但是您可以解释一下以下输出结果吗:
function testA() {
return function() {}
}
function testB() {
return () => {};
}
function testC() {
return new function() {}
}
console.log(testA());
console.log(testB());
console.log(testC());
A和B返回一个函数对象,我理解这是因为函数表达式设置为返回值。
但是,C(具有小写字母f =关键字的函数?)返回一个空对象。为什么?
我实际上希望代码失败,因为函数是关键字。我之所以这样问,是因为我在f(new function(){})中已经在回调中看到了情况C。
非常感谢。