【发布时间】:2020-07-01 04:24:46
【问题描述】:
就在最近,我发现这是可行的:
const str = "foo bar";
const arr = str.split` `; // <- no parens
console.log(arr);
// -> ["foo", "bar"]
看起来split 原型是一个标记的模板文字。我还看到它与其他数组函数一起使用,例如 indexOf。
实施此行为是否有特定原因? 我可以用它做一些我以前做不到的事情吗?或者我可以用更简单的方式解决一些任务吗?
似乎已经为实现付出了一些努力,而我能想到的每个用例都会使事情变得过于复杂。在我看来,让它成为可能是浪费时间。还是零成本?如果是:如何?
【问题讨论】:
-
模板字面量调用语法只是另一种函数调用机制。你可以这样调用 any 函数。
-
您应该查看标记模板字面量如何调用标记 (developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…) 并将其与
split的预期值进行比较。不确定您是通过“实现此行为的特定原因”还是您希望以这种方式使用标记模板文字的原因来引用语言本身。
标签: javascript ecmascript-6 template-literals language-specifications