我不确定如何解释这一点,但是当我跑步时
console.log`1`
在谷歌浏览器中,我得到类似的输出
console.log`1`
VM12380:2 ["1", raw: Array[1]]
为什么反引号会调用日志函数,为什么它会生成 raw: Array[1]
的索引?
Catgocat 在 JS 房间提出的问题,但除了关于 模板化字符串的 内容并不真正适合为什么会发生这种情况之外,没有任何答案有意义。
原文由 Sterling Archer 发布,翻译遵循 CC BY-SA 4.0 许可协议
它在 ES-6 中被称为标记模板更多可以 在这里 阅读, 有趣的是我在聊天的加星标部分找到了链接。
但是代码的相关部分在下面(您基本上可以创建过滤排序)。
基本上,它只是用 console.log 函数标记“1”,就像它对任何其他函数所做的那样。标记函数接受模板字符串的解析值和可以执行进一步任务的值。
Babel 将上面的代码转译为
正如你在上面的例子中看到的,在被 babel 转译之后,标记函数(console.log)被传递了以下 es6->5 转译代码的返回值。
这个函数的返回值被传递给 console.log 然后打印数组。