我有遇到这样的例子,完全失去了...javascript console.log新功能'原始'?
const test = (hey) => console.log(hey);
console.log(test `wtf`);
首先这是有效的,在执行console.log,它似乎是
["wtf", raw: Array[1]]
这就像函数被执行并额外加入raw
?有人可以解释吗?
我有遇到这样的例子,完全失去了...javascript console.log新功能'原始'?
const test = (hey) => console.log(hey);
console.log(test `wtf`);
首先这是有效的,在执行console.log,它似乎是
["wtf", raw: Array[1]]
这就像函数被执行并额外加入raw
?有人可以解释吗?
这只是一个Tagged Template Literal。它看起来很花哨,但没有什么特别的。请注意,它们是ES6/ES2015的一部分,因此如果您计划支持旧版浏览器,则需要转换它们。
模板文字是允许嵌入表达式的字符串文字。您可以使用多行字符串和字符串插值功能。在ES2015/ES6规范的先前版本中,它们被称为“模板字符串”。
信贷@karmuran和@deceze
原始字符串
特殊的原始属性,标签上的文字模板的第一个函数参数可用,可以让你访问输入的原始字符串。
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`;
'console.log(test“w ** f”); '? –
https://developer.mozilla.org/tr/docs/Web/JavaScript/Reference/Global_Objects/String/raw 我想这是字符串模板 –
标记模板字符串:https://developer.mozilla.org/en- US/docs/Web/JavaScript/Reference/Template_literals#Tagged_template_literals – deceze