3
私はNode.jsを使用して、2つの異なる言語で利用できる小さなゲームを作成しています。Array.prototype.map(コールバック、thisArg)、第2引数は無視されました
異なるのgamemodesとそれぞれの説明の翻訳リストを表示するためには、私はArray.prototype.map(callback, thisArg)
を使用していますが、ノードはthisArg
引数無視するように見えます:
sendMessage(translated[channel.id].modeList + modes.filter(a => {
if (typeof a === "string")
return true;
return false;
}).map(translated.modeDesc, translated[channel.id]).join("\n"));
translated
を:
const translated = {
"chooseLang" : "Choose a language",
"invalidOption" : "Invalid option",
"modeDesc" : mode => {return mode + " : " + "<" + modes[0][mode].join("|") + ">\n = " + this.modeDescs[mode];},
"(channel id)" : global.en
};
global.en
:
const en = {
"modeList" : "Here is a list of available gamemodes :",
"modeDescs" : {
"mode" : "description"
}
};
ノードではなく
translated[channel.id].modeDescs
(
global.en.modeDescs
)の、存在しない
translated.modeDescs
を、使用しようとしているように見えます
:
TypeError: Cannot read property 'mode' of undefined
at Object.ruleDesc (/home/algorythmis/Documents/Game/main.js:89:111)
at Array.map (native)
...
ので、ノードは本当にthisArg
を無視するか、私は間違った方法によさ?私がしたい行動をとるために私は何ができますか?
ありがとうございます。
ええとを参照してください。定期的な機能を使用する
してみてください。私はその矢印関数の特別な動作を知らなかった、ありがとう。 – Algorythmis