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' 'でそれを初期化することを好むのですか?デフォルトのテンプレート文字列を上書きするために、オプションのテンプレート文字列を渡すことがあるからですか? –
これは、私がやりたいこと(たとえば、関数呼び出しの結果かもしれません)の意図した一種の例ですが、それは主に美学に関するものです。私は1文字のコンセプトが好きです – Conqueror