我刚刚发现这种拆分字符串的方法非常酷,但我不确定它为什么有效,任何人都可以向我解释一下。.split`` 而不是 .split("")
let str = "Justin"
console.log(str.split``)
// ["J", "u", "s", "t", "i", "n"]
我刚刚发现这种拆分字符串的方法非常酷,但我不确定它为什么有效,任何人都可以向我解释一下。.split`` 而不是 .split("")
let str = "Justin"
console.log(str.split``)
// ["J", "u", "s", "t", "i", "n"]
它是标记模板的结果,str.split
被视为模板 ( ``
) 的标记,因此以空字符串作为其第一个参数进行调用。
let str = "Justin"
console.log(str.split``)
是一个带标签的模板,相当于:
let str = "Justin"
const strings = Object.freeze(Object.assign([""], { raw: [""] }))
console.log(str.split(strings))
这是有效的,因为String.prototype.split(separator[, limit])
如果separator
它没有实现该Symbol.split
方法(在步骤 2 中检查)和[""].toString() === ""
.