这是啥新语法 gql`string` [重复]

Posted

技术标签:

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

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

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

【问题讨论】:

developer.mozilla.org/en-US/docs/Web/javascript/Reference/… 为什么这个被否决了?我也有同样的问题。 【参考方案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你可以了解更多。

【讨论】:

以上是关于这是啥新语法 gql`string` [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Apollo 服务器中的打字稿语法

小笔记 - Swift 有啥新东西

Java 7有啥新特性?

这是啥语法,含义明确[重复]

mssql 这是语法'if' [重复]

php str_repeat()函数 语法