读Node.js readline.js 源码 有一段代码, 不理解!
var kEscape = '\x1b';
function CSI(strings, ...args) {
let ret = `${kEscape}[`;
for (var n = 0; n < strings.length; n++) {
ret += strings[n];
if (n < args.length)
ret += args[n];
}
return ret;
}
CSI.kEscape = kEscape;
CSI.kClearToBeginning = CSI`1K`; // 这种写法是什么意思?
CSI.kClearToEnd = CSI`0K`;
CSI.kClearLine = CSI`2K`;
CSI.kClearScreenDown = CSI`0J`;
4 回复
相当于 CSI.kClearToBeginning = CSI( [‘1k’ ] )
这是 ES6 字符串模板的高级用法,前面的函数你可以认为是一个 tag,可以看下这个:带标签的字符串模板
@leeziiAtCn 感谢
@hyj1991 谢谢你的解答