Hoc*_*eyJ 15 javascript string-interpolation ecmascript-6 babeljs
我正在使用babel/grunt来学习一些ES2015.
根据这篇文章,单引号和双引号之间的Javascript没有真正的区别.即'测试'和"测试".
当尝试字符串插值时,似乎babeljs存在问题(或者更可能是 - 我).请问以下代码有什么问题?
根据这份文件,似乎两者都应该有效.Chrome控制台中没有错误.
工作Js:
var name = "Bob", time = "today";
alert(`Hello ${name}, how are you ${time}?`);
Run Code Online (Sandbox Code Playgroud)
透明至:
var name = "Bob",
time = "today";
alert("Hello " + name + ", how are you " + time + "?");
Run Code Online (Sandbox Code Playgroud)
提供预期的结果.
失败的Js:
var forename = 'bob', surname = 'test';
alert('hello ${forename} ${surname} - how are you?');
Run Code Online (Sandbox Code Playgroud)
透明至:
var forename = "bob",
surname = "test";
alert("hello ${forename} ${surname} - how are you?");
Run Code Online (Sandbox Code Playgroud)
并提供以下输出:
Cod*_*gue 39
你说得对,没有不同之间'
和"
当它涉及到的字符串,而是为了做串插,你必须使用你的周围模板字符串,如反引号:
ES2015
var forename = 'bob', surname = 'test';
alert(`hello ${forename} ${surname} - how are you?`);
Run Code Online (Sandbox Code Playgroud)
结果ES5
var forename = 'bob',
surname = 'test';
alert('hello ' + forename + ' ' + surname + ' - how are you?');
Run Code Online (Sandbox Code Playgroud)