簡體   English   中英

回調中胖箭頭函數的“參數”的值給出了意外的值

[英]Value of 'arguments' of fat arrow function inside callback giving unexpected values

請參閱以下片段:

片段1:

 let fs = require("fs"); fs.readFile(process.argv[2], "utf8", (error, data) => console.log(arguments)); 


片段2:

 let fs = require("fs"); fs.readFile(process.argv[2], "utf8", (error, data) => console.log(error, data)); 


預期日志:( (error, data) ,例如:

null 'console.log("HELLO WORLD");\\r\\n'


當您嘗試這兩個代碼片段時,您會發現代碼片段1執行並記錄了console.log(arguments)一些意外值,但console.log(error, data)記錄了正確的值; (error, data)

為什么以及代碼段1記錄的值是什么?

不綁定參數

箭頭函數不綁定參數對象。因此,參數只是對范圍內名稱的引用。

來自:MDN-箭頭功能

如果希望在箭頭函數中使用可變參數,請使用其余參數語法:

fs.readFile(process.argv[2], "utf8", (...args) => console.log(args));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM