JavaScript中冷门但有用的String.raw

文章梗概

本文讲解的String.raw,作为JavaScript中的静态方法,用来获取模板字符串的原始字符串形式,需要注意的是与字符串模板搭配时候的事项。

介绍

String.raw() 静态方法是模板字符串的标签函数。它的作用类似于 Python 中的 r 前缀或 C# 中用于字符串字面量的 @
前缀。它用于获取模板字符串的原始字符串形式——即,替换表达式(例如 ${foo})会被替换处理,但转义序列(例如 \n)不会被处理。

String.raw在开发中的场景,主要是对转义字符串进行处理。如下面的例子

例子

首先,运行下面的代码。看下初始的效果。

const str = "c:\workspace\network"
console.log(str);

在这里插入图片描述

很神奇,打印出来的信息中,竟然出现了换行符,但是结合我们的字符串一看,我们发现"\network"几个字符串,而在javascript中,"\n"会被解析为换行符,而这与我们一开始的想法,打印出文件夹的路径是有很大的出入的。

对于上述的情况,我们一般会将"“更改为”\",这样子就获得如下的效果

在这里插入图片描述

而今天,我们就可以使用String.raw来测试下

const str = "c:\workspace\network"
const str1 = "c:\\workspace\\network"
const str2 = String.raw`c:\workspace\network`;
console.log(str);
console.log(str1);
console.log(str2);

在这里插入图片描述

可以看到,String.raw的使用方法与我们常用的字符串模板方法是一样的。而且能正常的显示出来了。但是,如果当我们在String.raw中配合使用已经定义好的字段,会怎么样呢?

遗憾

毕竟在项目中,我们很少会自己定义一个"\workspace\network"这样子的字符串,很多时候都是会从后端或者是数据库中获取到字段,然后显示在前端中,此时我们就需要测试下如果先定义一个变量,再使用String.raw会如何。

const str = "c:\workspace\network"
const str2 = String.raw`${str}`;
console.log(str2);

很遗憾,还是不行,所以当我们获取一个自己定义的变量的字符串的时候,是可以使用String.raw来获取原始字符串形式的,但是在现实开发中,实用性不高!​
在这里插入图片描述

求关注

呜呜呜,各位大佬好,感谢看文章,能关注下俺的公众号嘛?周6快乐~
公众号文章链接

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值