读Node.js readline.js 源码 有一段代码, 不理解!
发布于 6 年前 作者 maosiyu 3078 次浏览 来自 问答

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,可以看下这个:带标签的字符串模板

@hyj1991 谢谢你的解答

回到顶部