概述
这两天在用sqlite重写网站的回复功能,npm上搜索sqlite,发现例子里使用的语法很奇特:
import SQL from 'sql-template-strings';
import sqlite from 'sqlite';
const db = await sqlite.open('./database.sqlite');
const book = 'harry potter';
const author = 'J. K. Rowling';
const data = await db.all(SQL`SELECT author FROM books WHERE name = ${book} AND author = ${author}`);
最后一行SQL
为一个函数,后边跟的是es6新添加的字符串拼接模式,${}
括号里边的内容可以是变量或者表达式.这样就很直观的完成了字符串拼接问题.
同样这种写法还支持多行字符串,例如:
var name = '小明';
var html=`
<div class="info">
<div>姓名:${name}</div>
<!-- ... -->
</div>
`;
$('.container').append(html);
总结
随着ECMAScript标准的完善,javascript变得越来越强大了,此次提到的拼接字符串方法以前在C#中见到过,虽然只是一个语法糖,但是这种感觉真的很美妙.