字符串可以用单引号或者是双引号做为定界符,但是字符串只能是写在一行中,在es6中新增了一个语法就是Template Strings(模板字符串),这种语法支持多行字符串,模板字符串的数据类型仍然是字符串,不过界定符是重音符号【`】,就是和波浪线同一个键位的那个符号。模板字符串的优势不仅仅是支持多行字符串,也方便字符串与变量拼接。
例如模板字符串的写法
value = "http://1.jpg";
str=`<a href="${value}" target="_blank"><img width="80px" height="80px" src="${value}"/></a>'`;
等价于下面的非模板字符串的写法
value = "http://1.jpg";
str='<a href="' + value + '" target="_blank"><img width="80px" height="80px" src="' + value + '"/></a>';
其中${value}是模板占位符,表示将value变量值插入到其中位置。
这两者显然模板字符中的这种写法意图更明显,代码更好。
模板字符串现在是Firefox 34+ 和Chrome 41+支持,ie还不支持。不过若在typescrip中就不用担心兼容问题,typescript可以为我们翻译成功能等价的非模板字符串。