JS冷知识之不起眼但有用的String.raw方法

下面是关于JS中String.raw方法的详细讲解。

String.raw方法是什么

String.raw 是一个 ES6 引入的模板字符串的标签函数(tagged template)。当标签函数使用在模板字符串上时,该模板字符串中所有的转义字符都不会被转义,而是作为字符串的普通字符被输出。

用法示例

下面我们通过两个实际的示例来说明 String.raw 方法的使用。

示例一

在平常的开发中,我们会使用 JSON.stringify 方法将一个 JavaScript 对象序列化成为 JSON 字符串。但是,由于 JSON 字符串中的特殊字符都需要进行转义,这样会给代码的可读性带来一定的问题,而且转义字符的填写也容易出错。这时候 String.raw 方法就派上用场了。

const obj = {
  name: '张三',
  hobby: '打篮球'
}

const jsonStr = String.raw`${JSON.stringify(obj)}`
console.log(jsonStr)
// 输出结果:
// {"name":"张三","hobby":"打篮球"}

在这个示例中,我们使用 String.raw 将 JSON 字符串的特殊字符全部原样输出了,不需要我们再通过手工填写转义字符来进行处理了。

示例二

在一些场景下,我们需要将类似于二进制等的数据转换成十六进制的字符串。这时候,我们就可以使用 String.raw 来很方便地实现这个功能。

const arr = new Uint8Array([0x01, 0x02, 0x03, 0xF4, 0xE5, 0xD6])
const hexStr = String.raw`${arr}`
console.log(hexStr)
// 输出结果:
// 010203f4e5d6

在这个示例中,我们将一个 Uint8Array 数组转换成了一个十六进制的字符串,String.raw 方法自动地帮我们去掉了每个字节之间的空格,并且将十六进制的每个字符都打印出来。

总之,String.raw 方法虽然看起来并不太起眼,但是在一些特定的场景下却可以起到很大的作用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS冷知识之不起眼但有用的String.raw方法 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • 10分钟学会js处理json的常用方法

    下面我将详细讲解“10分钟学会js处理json的常用方法”的完整攻略。 1. 前言 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常见于前后端数据传输。在JavaScript中,我们可以通过一系列的方法和函数来处理JSON数据,以满足不同的业务需求。 2. JSON的基本语法 JSON由两种结构组成:- 键值对-…

    JavaScript 2023年5月27日
    00
  • jquery 表单进行客户端验证demo

    以下是详细的攻略: jQuery 表单进行客户端验证 在使用表单提交数据之前,通常需要对表单进行客户端验证,以避免无效的数据被提交到后台服务器。jQuery 是一种非常流行的 JavaScript 库,可以方便地实现表单验证功能。 接下来我们将向您展示如何使用 jQuery 对表单进行客户端验证。以下是大致的步骤: 引入 jQuery JS 库。在 HTML…

    JavaScript 2023年6月10日
    00
  • javascript引用对象的方法

    下面就是关于Javascript引用对象的方法的详细讲解。 什么是引用对象 Javascript中引用对象是一种特殊的对象,它不像普通对象一样存储值,而是存储对一个值的引用。当我们使用引用对象时,它们通常是用来访问、修改或删除关联值的。 引用对象的方法 引用对象有很多方法,下面我们来逐一讲解这些方法。 1. call() 和 apply() call()和a…

    JavaScript 2023年5月27日
    00
  • Javascript中实现String.startsWith和endsWith方法

    首先,需要明确的是,JavaScript中并没有内置的startsWith和endsWith方法,我们需要手动实现这两个方法。 实现startsWith方法 startsWith方法用于检查字符串是否以指定的子串开头。下面是一份实现这个方法的JavaScript代码: String.prototype.startsWith = function(startS…

    JavaScript 2023年5月19日
    00
  • js Array操作的最简短最容易理解方法

    下面就为大家详细讲解一下“js Array操作的最简短最容易理解方法”的完整攻略。 操作数组的方法 在JavaScript中,我们可以使用许多方法来操作数组,包括以下几个: push()方法 push()方法可以向数组末尾添加新元素。 const fruits = [‘apple’, ‘banana’]; fruits.push(‘orange’); con…

    JavaScript 2023年5月27日
    00
  • JavaScript优化以及前段开发小技巧

    JavaScript 优化以及前端开发小技巧 1. JavaScript 优化 1.1 减少 HTTP 请求 当页面中存在大量的 HTTP 请求时,可能导致页面加载缓慢。因此需要考虑如何减少页面中的 HTTP 请求,以提高网页加载速度。以下几种方法可以用来减少 HTTP 请求: 使用 CSS Sprite:将多张图片整合到一张图中,减少HTTP请求次数。 合…

    JavaScript 2023年5月18日
    00
  • 详解JS事件循环及宏任务微任务的原理

    让我们来详细讲解JavaScript事件循环及宏任务和微任务的原理。 什么是JavaScript事件循环 JavaScript事件循环是一种执行JavaScript代码的机制,它负责管理执行栈,并且从任务队列中获取任务。事件循环是JavaScript运行时的一个重要组成部分,同时JavaScript的异步执行正是基于事件循环实现的。 事件循环的执行过程 事件…

    JavaScript 2023年6月11日
    00
  • 转换字符串为json对象的方法详解

    当我们从外部获取到一个字符串,而这个字符串是符合json格式的,那么这个时候我们需要将这个字符串转换成json对象,方便我们在程序中处理数据。 下面是几种常见的将字符串转换为json对象的方法: 使用JSON.parse(string) JSON.parse() 是 JavaScript 中的一个内置函数,可以将一个符合 JSON 格式的字符串转化为 JSO…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部