那么如何推送到 CONSUPTION 陣列呢?使用 THIS 不起作用,并且我不知道如何使 ORDER 起作用。
const createMenu = (menu) => ({
fetchMenu: () => menu,
consumption: [1,2],
order: (string) => {
this.consumption.push(string);
},
pay: () => {
let cont = 0
const cardapio = { ...menu.food, ...menu.drink}
for (let itens of this.consumption){
cont = cardapio[itens];
};
return cont;
},
});
uj5u.com熱心網友回復:
將箭頭函式更改order為常規函式,在物件中使用它不是一個好主意。
原因是在常規函式中,this關鍵字表示呼叫函式的物件。與常規函式不同,箭頭函式沒有自己的this. 箭頭函式內部的值this在函式的整個生命周期中保持不變,并且始終系結到this最近的非箭頭父函式中的值。
const createMenu = (menu) => ({
fetchMenu: function(){ return menu},
consumption: [1,2],
order: function(string) {
this.consumption.push(string);
},
pay: function() {
let cont = 0
const cardapio = { ...menu.food, ...menu.drink}
for (let itens of this.consumption){
cont = cardapio[itens];
};
return cont;
},
});
const menu = createMenu();
console.log(menu.consumption);
menu.order(3);
console.log(menu.consumption);
更多關于this箭頭函式的資訊可以在這里找到
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/494705.html
標籤:javascript 数组 目的
