单引号字符串中的双引号 - NodeJs

Posted

技术标签:

【中文标题】单引号字符串中的双引号 - NodeJs【英文标题】:Double quotes within single quote string - NodeJs 【发布时间】:2018-05-23 10:06:35 【问题描述】:

我遇到了一个问题,其他答案无法解决。 我正在尝试在字符串文字中打印出双引号。但是,我不断收到错误消息。

这是具体功能:

app.put('/assignments/:name/assignee/:assignee', function (request, response) 
  logic.examine(request, function (mail, jobtitle) 
    if (mail !== request.params.assignee && jobtitle.indexOf('Personeel') === -1) 
      response.sendStatus(401);
     else 
      logs_logic.addLog(mail + ' heeft gebruiker met naam "' + request.params.assignee + '" toegekend aan opdracht met als naam "' + request.params.name + '".');      
      response.status(200).json(logic.changeAssignee(request.params.name, request.params.assignee));
    
  );
);

错误消息显示“无效或意外令牌”指向第三个“加号”(或连续)符号之后的部分。所以它从“toegekend”开始

有什么想法吗?

提前致谢!

【问题讨论】:

您是否尝试过使用转义字符? 您可以使用字符串文字来代替它。在这里查看参考:brijeshbhakta.com/getting-started-with-es6#template-literals 是的,无济于事。删除双引号(因此字符串只包含单引号)也不起作用。 使用反引号来创建字符串,我在下面的答案中已经解释过了。 上下文是什么?我的 Chrome 可以毫无问题地解析您的代码。 【参考方案1】:

使用 es6 模板 literas aka 反引号,这将使语句更加清晰。

`this is string $some_variable more text $some_variable_2`

logs_logic.addLog(`$mail heeft gebruiker met naam " $request.params.assignee " toegekend aan opdracht met als naam " $request.params.name ".`);

【讨论】:

谢谢。我会尽快接受答案。【参考方案2】:

使用反引号 (`) 代替单引号来构成字符串。

并使用

$variable_name

在字符串中使用该变量。

示例如下:

logs_logic.addLog(`$mail heeft gebruiker met naam "$request.params.assignee" toegekend aan opdracht met als naam "$request.params.name".`);

希望这会有所帮助。

【讨论】:

【参考方案3】:

试试" 文字,看看它是否适合你。像这样:'This is "quoted"'

【讨论】:

以上是关于单引号字符串中的双引号 - NodeJs的主要内容,如果未能解决你的问题,请参考以下文章

单引号中的双引号,反之亦然

Oracle中的单引号怎么转义

JavaScript中的双引号与单引号[重复]

循环遍历双引号但忽略单引号中的双引号

EXCEL中双引号和单引号中的数字有啥区别

Prettier 不适用于将可视代码中的双引号更改为单引号