【发布时间】:2017-12-20 07:08:23
【问题描述】:
在名为“Car”的函数中,我添加了一个方法“beep”,并带有可选的消息输入:
this.beep = function (message) { }
我想使用模板文字来在函数中记录这个:
console.log(this.name + ': ' + 'Beeeeep!' + (message ? ' ' + message : ''))
我写了以下内容,但输出显示了文字本身的内容:
console.log(`${this.name}: Beeeeep! ${ (message) => {
if (message) return `${message}`;
return ' ';
}}`);
输出(对于 this.name='myCar'):
myCar: Beeeeep! (message) => {
if (message) return `${message}`;
return '';
}
为什么它记录文字的内容而不是转译它?
*我想出了如何以更简单的方式编写它:
console.log(`${this.name}: Beeeeep! ${message || ''}`)
但我还是想了解第一个代码出了什么问题。
【问题讨论】:
标签: javascript ecmascript-6 template-literals