我不确定如何解释,但是当我跑步时
console.log`1`
在谷歌浏览器中,我得到的输出像
console.log`1`
VM12380:2 ["1", raw: Array[1]]
反引号为什么要调用log函数,为什么要对它进行索引raw: Array[1]
?
由Catgocat在JS室提出的问题,但是除了关于模板化字符串的事情之外,没有任何其他答案是合情合理的。
在ES-6中被称为“标记模板”,有关它们的更多信息,在这里,有趣的是,我在即时通讯的加星标部分中找到了该链接。
但是代码的相关部分在下面(您基本上可以创建过滤的排序)。
function tag(strings, ...values) {
assert(strings[0] === 'a');
assert(strings[1] === 'b');
assert(values[0] === 42);
return 'whatever';
}
tag `a${ 42 }b` // "whatever"
基本上,它只是使用console.log函数标记“ 1”,就像使用其他任何函数一样。标记功能接受已解析的模板字符串值以及分别可在其上执行更多任务的值。
Babel将上述代码转换为
var _taggedTemplateLiteralLoose = function (strings, raw) { strings.raw = raw; return strings; };
console.log(_taggedTemplateLiteralLoose(["1"], ["1"]));
如您在上面的示例中看到的那样,在被babel编译后,标签函数(console.log)被传递给以下es6->5编译代码的返回值。
_taggedTemplateLiteralLoose( ["1"], ["1"] );
该函数的返回值传递到console.log,该控制台随后将打印阵列。
问题内容: 我有反引号构建MYSQL查询。例如, 相对于: 我认为我是从Phpmyadmin导出中获得这种做法的,并且据我了解,甚至Rails都会生成这样的查询。 但是如今,我看到这样构建的查询越来越少了,而且代码看起来更加混乱,并且查询中带有反引号。即使有了SQL helper函数,没有它们,事情也会变得更加简单。因此,我正在考虑将它们抛在后面。 我想找出这种做法是否还有其他含义,例如SQL(在
问题内容: 是否可以使用反引号在Go中打印反引号: 问题答案: 原始字符串文字是反引号``之间的字符序列。在引号内,除反引号外,任何字符均合法。原始字符串文字的值是由引号之间未解释的字符组成的字符串。特别是,反斜杠没有特殊含义,字符串可以跨越多行。字符串文字
问题内容: 我正在尝试学习编写查询的最佳方法。我也了解保持一致的重要性。到现在为止,我在没有任何实际考虑的情况下随机使用单引号,双引号和反引号。 例: 另外,在上述例子中,考虑到,,等可以是变量。 这是什么标准?你是做什么? 我已经在这里阅读了大约20分钟的类似问题的答案,但是似乎没有确切的答案。 问题答案: 反引号用于表和列标识符,但是仅当标识符是MySQL保留关键字时,或者当标识符包含空格字符
问题内容: 在node.js(服务器端)上工作时,我想知道是否应该一直使用所有反引号(`)而不是常规引号(“或’),因为这会使代码保持一致。为不同的事物保留不同类型的报价,如果所有非替代报价都转换为反向报价,会影响性能吗? 问题答案: 反引号允许您使用字符串模板,例如: 对于vs 我说看看这 不同之处在于您不需要在单引号中转义单引号或在单引号中转义双引号。这是唯一的区别,如果您不算必须按住Shif
如果反射值对象(reflect.Value)中值的类型为函数时,可以通过 reflect.Value 调用该函数。使用反射调用函数时,需要将参数使用反射值对象的切片 []reflect.Value 构造后传入 Call() 方法中,调用完成时,函数的返回值通过 []reflect.Value 返回。 下面的代码声明一个加法函数,传入两个整型值,返回两个整型值的和。将函数保存到反射值对象(refle
问题内容: 在某些语言中,可以使用特殊的保留字(例如 ref 或 val) 通过引用或值传递参数。当您将参数传递给Python函数时,它永远不会在离开函数时更改参数的值。唯一的方法是使用 全局 保留字(或据我目前的了解)。 范例1: 会显示 显示k为不变 在此示例中,变量n从不更改 范例2: 在此示例中,变量n已更改 Python中有什么方法可以调用函数并告诉Python 该参数 是 值 还是 引