ES2015 Babel 字符串插值不适用于撇号(但适用于双引号)

ES2015 Babel String Interpolation not working with apostrophe (but does with double quotes)

我正在使用 babel / grunt 学习一些 ES2015。

根据 this post,单引号和双引号在 Javascript 中没有真正的区别。即 'test' 和 "test".

虽然在尝试字符串插值时,babeljs 似乎存在问题(或者更可能是我)。请问下面的代码有什么问题吗?

根据 this document,似乎两者都应该有效。 Chrome 控制台中没有错误。

正在工作的 Js:

var name = "Bob", time = "today";
alert(`Hello ${name}, how are you ${time}?`);

转译为:

var name = "Bob",
    time = "today";
alert("Hello " + name + ", how are you " + time + "?");

提供了预期的结果。

失败的 Js:

var forename = 'bob', surname = 'test';
alert('hello ${forename} ${surname} - how are you?');

转译为:

var forename = "bob",
    surname = "test";
alert("hello ${forename} ${surname} - how are you?");

并提供以下输出:

你说的对,'"strings方面没有区别,但是为了做字符串插值,您必须在您的模板字符串周围使用反引号,例如:

ES2015

var forename = 'bob', surname = 'test';
alert(`hello ${forename} ${surname} - how are you?`);

结果 ES5

var forename = 'bob',
    surname = 'test';
alert('hello ' + forename + ' ' + surname + ' - how are you?');

Babel REPL