为什么 String.raw 不能以反斜杠结尾? [复制]

2024-02-05

字符串.raw https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/raw可用于创建包含反斜杠的字符串,而无需将这些反斜杠加倍。

从历史上看,创建字符串时需要双反斜杠:

let str = "C:\\Program Files\\7-Zip";
console.log(str);

String.raw 允许您的代码显示没有双反斜杠的路径:

let str = String.raw`C:\Program Files\7-Zip`;
console.log(str);

上面的代码工作正常,但是今天我发现如果原始字符串以反斜杠结尾,它就不起作用:

let str = String.raw`Can't End Raw With Backslash\`;
console.log(str);

上面的代码片段产生了这个错误:

{
  "message": "SyntaxError: `` literal not terminated before end of script",
  "filename": "https://stacksnippets.net/js",
  "lineno": 14,
  "colno": 4
}

为什么这是一个例外?

Update:单个反斜杠不能执行我想要的操作的另一个示例是:

let str1 = "folder";
let str2 = "subfolder";
let fileName = "file.txt"
let path = String.raw`\${str1}\${str2}\${fileName}`;
console.log(path);

虽然我希望得到这个输出:

\folder\subfolder\file.txt

相反,它输出:

\${str1}\${str2}\${fileName}

反斜杠逃避了美元符号的特殊含义。因此,这是另一种情况,您仍然需要将这些反斜杠加倍:(


它可以,但请记住有“文字”字符和反斜杠字符。你要求一个literal反引号。要求字面上的反斜杠:

let str = String.raw`...\\`;

紧跟在反斜杠后面的任何字符都被视为其文字版本,无论它是什么。String.raw可以解决其中一些限制,但不是全部。它抑制了类似的插值\n但不能阻止您意外添加文字反引号。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 String.raw 不能以反斜杠结尾? [复制] 的相关文章

随机推荐

  • 如何在 XCassets 中使用立方体纹理类型

    我正在尝试学习 SceneKit 开发并尝试在后台添加天空盒 为了存储立方体贴图纹理 我发现 XCAssets 有一个类型立方体纹理集 https developer apple com library archive documentat
  • 单向 SSL 是单向加密吗?

    如果使用 SSL 的一种方式 服务器证书身份验证 则从客户端发送的数据将使用服务器证书的公钥进行加密 因此客户端发送的数据可以得到隐私保护 我的问题是 这是否意味着从服务器发送到客户端的一种方式 SSL 数据未加密并以纯文本形式发送 对于服
  • JSF 中的线程?

    我是 JSF 新手 我需要使用 Threads 来处理 google 地图 我正在使用 primefaces 进行谷歌地图 但我需要在后台执行一个线程以从数据库获取纬度和经度 然后在地图中绘制标记 您的问题并非特定于 JSF 而是针对一般的
  • Facebook 页面插件无法正常工作

    我需要一个嵌入式 Facebook 页面插件 但是facebook的代码生成器不起作用 当我给出 facebook 页面的 url 时 生成器不会给出该页面的代码 预览模式下也不会出现该页面 脸书页面是 https www facebook
  • PE格式,IAT目录有什么用

    在 PE 格式中 我们有导入表目录 通过IMAGE DIRECTORY ENTRY IMPORT 和 IAT 目录 通过以下方式访问 IMAGE DIRECTORY ENTRY IAT 两者都是可选标头数据目录的一部分 使用导入表 加载器动
  • memcpy 溢出边界利用? (破坏堆栈)

    我试图弄清楚这是否会以某种方式溢出 void print address char p arp hw int i hw length size p OFFSET1 189 4 193 memcpy hw addr packet OFFSET
  • C++ 成员函数指针

    我正在用 C 做一个小游戏 我正在发现类成员函数指针 我不知道如何让它们以正确的方式工作 但这是我的尝试 A struct where the function pointer will be stored for the call By
  • django数据库同步以供离线使用

    我有一台主 django 服务器 用于存储数据 mysql 数据库 在线 我希望许多用户在他们的笔记本电脑上同步此数据库的副本 仅必须复制增量 sqlLite DB 离线 用户无权访问主服务器 用户可以查看和更新 其本地数据库 返回在线 用
  • 从受密码保护的 Excel 文件到 Python 对象

    我使用的是 Windows 7 Python 2 7 和 Microsoft Excel 2013 我知道从here https stackoverflow com questions 15285068 from password prot
  • Kotlin 中如何将 String 转换为 Int?

    我正在 Kotlin 中开发一个控制台应用程序 我在其中接受多个参数main 功能 fun main args Array
  • Spring Boot FlywayException:无法连接到数据库。配置url、用户和密码

    当我跑步时maven flyway migrate 我收到错误 无法执行目标 org flywaydb flyway maven plugin 6 5 5 migrate default cli 在项目 myProject 上 org fl
  • 何时在 Material UI 中使用“classes”与“className”?

    我对这两个属性有点困惑 如果我有 const useStyles makeStyles gt style width 600 height 400 那么 我可以做的是 const classes useStyles
  • 应用内购买在 Chrome 扩展中不起作用

    应用内购买屏幕正在返回 应用程序内屏幕的屏幕截图 https i stack imgur com E5Qf1 png 错误是 发生意外的错误 请稍后再试 解雇 正如你所看到的 其中一半也是黑色的 Buy js GOOGLE s CODE C
  • 在 PHP 中组合目录和文件名(相当于 .Net 中的 Path.Combine)

    This should be a simple question but I just can t recall the relevant API A search on google with the term doesn t yield
  • 在 Angular 2 打字稿中导入gapi.auth2

    我尝试在打字稿中从 Googlegapi auth2 导入一些类或函数 但即使我在typings目录中正确添加了gapi auth2类型 下面的代码也永远不会工作 import GoogleAuth from gapi auth2 我总是遇
  • 将 Firebase 与 Kotlin 协程结合使用:取消作业时任务不会取消

    在协程内部 借助 kotlinx coroutines play services 库中的await 函数 我使用如下内容 suspend fun uploadFile uri Uri withContext IO Firebase sto
  • 优化 JavaScript 代码以小写 JSON 属性名称

    我正在开发一个 Web 应用程序 该应用程序接收具有大写属性名称的 JSON 数据 我需要这些属性名称为小写 因此我使用一个函数递归地循环遍历 JSON 对象并将它们转换为小写 问题是我的 JSON 回复可能会变得非常大 我希望该函数能够表
  • 区分 tkinter 菜单中两个相同项目的问题

    我创建的程序允许用户在键盘上输入的任何字母都写在海龟图形画布上 在我的程序中 我还创建了一个 Python 菜单 每次用户执行函数 绘制字母时 都会向该菜单写入一个 Point 对象 针对每个字母函数 但是 由于我的程序的性质 用户还可以将
  • Helm 和 Kustomize 之间有什么区别?

    我已经使用 Kubernetes 和 Helm 一段时间了 现在第一次接触 Kustomize 但 Kustomize 和 Helm 之间到底有什么区别呢 两者只是捆绑 K8s 元素 例如服务 部署等 的不同解决方案吗 或者同时使用 Hel
  • 为什么 String.raw 不能以反斜杠结尾? [复制]

    这个问题在这里已经有答案了 字符串 raw https developer mozilla org en US docs Web JavaScript Reference Global Objects String raw可用于创建包含反斜