javascript 这个新语法gql`string`是什么?[副本]

nom7f22z  于 2023-06-04  发布在  Java
关注(0)|答案(2)|浏览(432)

此问题已在此处有答案

Backticks () calling a function in JavaScript(3个答案)
两年前关闭。
考虑:

const GET_DOGS = gql`
  {
    dogs {
      id
      breed
    }
  }
`;

我从here中发现了这个新语法。
这种语法的解释是什么?我在哪里可以找到有关它的详细信息?

42fyovps

42fyovps1#

它被称为标记模板。模板文字(...)可以使用 * 函数名 * 作为前缀。在计算时,将调用此函数,并将模板文字的静态和动态部分传递给该函数。示例:

function foo(staticParts, dynamicParts) {
  console.log(staticParts, dynamicParts);
}

foo`this is a ${42} test`

标记模板可用于创建domain specific languages,如本例所示。
many questions around tagged templates你可以从中学到更多。

ctehm74n

ctehm74n2#

它被称为模板文字。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
它不仅允许你像上面的例子一样进行多行格式设置,而且还可以更容易地将表达式与字符串内容混合在一起。

相关问题