【问题标题】:What is this new syntax gql`string` [duplicate]这是什么新语法 gql`string` [重复]
【发布时间】:2018-10-15 06:19:11
【问题描述】:
const GET_DOGS = gql`
  {
    dogs {
      id
      breed
    }
  }
`;

我从here 发现了这个新语法。

你能解释一下这个语法吗?我在哪里可以找到它的详细信息?

【问题讨论】:

标签: javascript graphql-js


【解决方案1】:

它被称为模板文字。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals

它不仅允许您像上面的示例那样进行多行格式化,而且还可以更轻松地将表达式与字符串内容混合。

【讨论】:

    【解决方案2】:

    它被称为tagged template。模板文字 (`...`) 可以以 函数名 为前缀。评估后,将调用此函数,并将模板文字的静态和动态部分传递给该函数。示例:

    function foo(staticParts, dynamicParts) {
      console.log(staticParts, dynamicParts);
    }
    
    foo`this is a ${42} test`

    标记模板可用于创建domain specific languages,如本例所示。

    many questions around tagged templates你可以了解更多。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多