ES6 字符串扩展

振作精神,努力更新!

先定个小目标,每周更新3篇内容!

本周:2022 - 06 - 13 ~ 2022 - 06 - 19 ( 第三篇 )

  • Unicode 表示字符

允许采用\uxxxx形式表示一个字符,

xxxx 表示字符的 Unicode 码点。

"\u0061"  // "a"

只限于码点在\u0000~\uFFFF之间的字符。

// 超出则采用双字节:
"\uD842\uDFB7"  // "𠮷"
​
// 下方写法 js 执行为 \u20BB + 7
// 前者不可打印,表现为 空格
"\u20BB7"   // " 7"

ES6 改进写法:

'\u{20BB7}'   // "𠮷"

  • 字符串遍历器接口

字符串可以被for...of循环遍历。

该遍历器最大优点是可识别> 0xFFFF的码点。

  • 直接输入 U + 2028 和 U + 2029

JavaScript 规定有5个字符不能在字符串里面直接使用只能使用转义形式。

  • U+005C:反斜杠(reverse solidus)

  • U+000D:回车(carriage return)

  • U+2028:行分隔符(line separator)

  • U+2029:段分隔符(paragraph separator)

  • U+000A:换行符(line feed)

注意:

  1. JSON 格式允许字符串里有 U+2028 和 U+2029

  2. 服务器输出的 JSON 被JSON.parse解析,有可能直接报错。

  • JSON。stringfy() 的改造

JSON 数据必须是 UTF-8 编码。

JSON.stringify()方法有可能返回不符合 UTF-8 标准的字符串。

ES2019 JSON.stringify() 遇到0xD8000xDFFF之间的单个码点,或者不存在的配对形式,返回转义字符串。

JSON.stringify('\u{D834}')
// ""\\uD834""

  • 模板字符串

使用模板字符串表示多行字符串,所有的空格和缩进都会被保留在输出之中。

`${x} + ${y} = ${x + y}`
`foo ${fn()} bar`
let func = (name) => `Hello ${name}!`;

  • 标签模板

alert`hello`
// 等同于
alert(['hello'])

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ES6提供了多种方法来将字符串转换为数组。其中一种方法是使用拓展运算符。拓展运算符可以将字符串的每个字符作为数组的元素展开。例如,可以使用以下代码将字符串转换为数组: ```javascript let str = "hello"; let arr = [...str]; console.log(arr); // ['h', 'e', 'l', 'l', 'o'] ``` 另一种方法是使用Array.from()方法。Array.from()方法可以将类似数组的对象或可迭代对象转换为真正的数组。对于字符串,可以将字符串作为参数传递给Array.from()方法来将其转换为数组。例如: ```javascript let str = "hello"; let arr = Array.from(str); console.log(arr); // ['h', 'e', 'l', 'l', 'o'] ``` 无论是使用拓展运算符还是Array.from()方法,都可以将字符串转换为数组,以便进行进一步的操作和处理。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【JavaScript源代码】ES6扩展运算符的理解与使用场景.docx](https://download.csdn.net/download/mmoo_python/72032372)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [ES6中转换为数组的方法](https://blog.csdn.net/weixin_45239190/article/details/120515247)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值