Object.assign
的一个常见用例是修改(或展开替换)对象的属性而不更改对象的引用,所以其他事物参考也会更新。对于JavaScript中的函数,Object.assign()的等效
有没有办法与一个函数的内容做到这一点?
因此,举例来说:
const a =() => console.log('a');
const b = a;
doSomethingMagicalHere(b,() => console.log('b'));
b(); // prints 'b'
a(); // prints 'b'
为什么不只是替换持有该函数的对象上的函数呢?使它成为一个让,而不是一个const – the8472
等价的是,这两个函数的引用将是相同的。与C中的指针类似。您可以在不更改引用的情况下更改它的值,因此当您更改引用的内容时,另一个的内容也会更新。这是一种延伸,可能不存在,但我希望有一些我不知道的东西。正确的答案将使我的示例代码功能如上所述。 – samanime
@ the8472我的例子过于简单,但在实际的例子中,我试图模拟/存根一个React组件,它实际上是一个函数,唯一的方法是更新函数的功能,而不仅仅是分配一个新的值(在一个测试文件中),因为新的值不会反映在实际的代码中。 – samanime