我遇到了这个例子,完全迷失了.
const test = (hey) => console.log(hey);
console.log(test `wtf`); 首先,所有这些都是有效的,在console.log中,它似乎是
["wtf", raw: Array[1]]就像这个函数被执行了,并且使用了额外的raw?谁能解释一下吗?
发布于 2016-10-26 07:45:49
它只是一个Tagged Template Literal。看上去很花哨,但没有什么特别之处。请注意,它们是ES6/ES6 2015的一部分,所以如果您计划支持较旧的浏览器,则需要转移它们。
模板文字是允许嵌入表达式的字符串文本。您可以使用多行字符串和字符串内插功能。在ES2015 / ES6规范的早期版本中,它们被称为“模板字符串”。
发布于 2016-10-26 07:46:08
“卡穆兰”和“欺骗”的功劳
原始字符串
在标记模板文本的第一个函数参数上可用的特殊raw属性允许您在输入原始字符串时访问它们。
function tag(strings, ...values) {
console.log(strings.raw[0]);
// "string text line 1 \n string text line 2"
}
tag`string text line 1 \n string text line 2`;https://stackoverflow.com/questions/40256304
复制相似问题