La interpolación de cadenas de Babel ES2015 no funciona con un apóstrofo (pero lo hace con comillas dobles)

Estoy usando babel / gruñido para aprender algo de ES2015.

De acuerdo con este post, no hay diferencia real en Javascript entre comillas simples y dobles. es decir, "testing" y "testing".

Sin embargo, al intentar la interpolación de cadenas, parece que hay un problema con babeljs (o más probablemente, yo). ¿Qué está mal con el código a continuación, por favor?

Según este documento , parece que ambos deberían funcionar. No hay errores en la console de Chrome.

Trabajando Js:

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

Transpiles a:

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

Proporciona el resultado esperado.

Fallando Js:

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

Transpiles a:

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

y proporciona el siguiente resultado:

enter image description here

Tienes razón, no hay diferencia entre ' y " cuando se trata de cadenas , pero para hacer interpolaciones de cadenas, debes usar trazos en la cadena de templates, por ejemplo:

ES2015

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

ES5 resultante

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

Babel REPL