基本用法
在ES6之前,将字符串连接到一起的方法是+或者concat()方法,如
const student = {
name: 'Richard Kalehoff',
guardian: 'Mr. Kalehoff'
};
const teacher = {
name: 'Mrs. Wilson',
room: 'N231'
}
let message = student.name + ' please see ' + teacher.name + ' in ' + teacher.room + ' to pick up your report card.';
模板字面量用倒引号 (``)(而不是单引号 ( '' ) 或双引号( "" ))表示,可以包含用 ${expression} 表示的占位符
let message = `${student.name} please see ${teacher.name} in ${teacher.room} to pick up your report card.`;
多行字符串
在ES6之前,通常都依靠数组或字符串的拼接来创建多行字符串
var message = ["Multiline ","string"].join("\n");
let message = "Multiline \n" +"string";
ES6 的模板字面量使多行字符串更易创建,因为它不需要特殊的语法,只需在想要的位置直接换行即可,此处的换行会同步出现在结果中
let message = `Multiline
string`;
// "Multiline
// string"
console.log(message);
console.log(message.length); // 16
变量占位符
变量占位符由起始的 ${ 与结束的 } 来界定,之间允许放入任意的 JS 表达式。最简单的变量占位符允许将本地变量直接嵌入到结果字符串中。
let name = "Nicholas",
message = `Hello, ${name}.`;
console.log(message); // "Hello, Nicholas."
占位符 ${name} 会访问本地变量 name ,并将其值插入到 message 字符串中。 message变量会立即保留该占位符的结果
既然占位符是JS表达式,那么可替换的就不仅仅是简单的变量名。可以轻易嵌入运算符、函数调用等
let count = 10,
price = 0.25,
message = `${count} items cost ${(count * price).toFixed(2)}.`;
console.log(message); // "10 items cost $2.50."
网友评论