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