在我的地圖功能觀察奇怪的現象:Map函數返回數組的索引,而不是字符串值
let tpl = ({x}, y = `This is ${x}`) => y;
console.log(tpl({x:5})); //correctly returns 'This is 5'
console.log([{x:1}, {x:9}].map(tpl)); //expecting array of strings, instead get [0, 1]
是可能的「修復」這省去默認變量y
,並返回直接來自tpl的模板字符串。不過,我寧願這樣做初始化,也不明白爲什麼它不會起作用。
似乎是一個奇怪的異常對我來說,有人有洞察力我缺少的東西?
到底爲什麼你更喜歡用'y'對其進行初始化時,你可以直接返回像你說的模板字符串?是否因爲您有時傳遞可選的模板字符串來覆蓋默認的字符串? –
這是我想做的一個人爲的例子(例如,可能是函數調用的結果),但它主要是關於美學;我喜歡一個字符的概念返回 – Conqueror