ES6理论及方法

一、基础知识

1.不可枚举就是不可遍历。

在这里插入图片描述

2.数据代理:通过一个对象代理对另一个对象中属性的操作(读/写)

在这里插入图片描述

二、方法

1.一个字符串是否包含在另一个字符串中

includes():返回布尔值,表示是否找到了参数字符串。
startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。
endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部。

let s = 'Hello world!';

s.startsWith('Hello') // true
s.endsWith('!') // true
s.includes('o') // true

这三个方法都支持第二个参数,表示开始搜索的位置。

let s = 'Hello world!';

s.startsWith('world', 6) // true
s.endsWith('Hello', 5) // true
s.includes('Hello', 6) // false

上面代码表示,使用第二个参数n时,endsWith的行为与其他两个方法有所不同。它针对前n个字符,而其他两个方法针对从第n个位置直到字符串结束。

2.将某个字符串重复n次

  • 是返回一个新字符串
'x'.repeat(3) // "xxx"
'hello'.repeat(2) // "hellohello"
'na'.repeat(0) // ""

3.补全字符串的长度

如果某个字符串不够指定长度,会在头部或尾部补全。padStart()用于头部补全,padEnd()用于尾部补全。

'x'.padStart(5, 'ab') // 'ababx'
'x'.padStart(4, 'ab') // 'abax'

'x'.padEnd(5, 'ab') // 'xabab'
'x'.padEnd(4, 'ab') // 'xaba'

上面代码中,padStart()和padEnd()一共接受两个参数,第一个参数是字符串补全生效的最大长度,第二个参数是用来补全的字符串。

4.消除字符串头尾部的空格

它们的行为与trim()一致,trimStart()消除字符串头部的空格,trimEnd()消除尾部的空格。它们返回的都是新字符串,不会修改原始字符串。

const s = '  abc  ';

s.trim() // "abc"
s.trimStart() // "abc  "
s.trimEnd() // "  abc"

5.替换匹配的字符串

  • replace()只能替换第一个匹配
'aabbcc'.replace('b', '_')
// 'aa_bcc

上面例子中,replace()只将第一个b替换成了下划线。

  • replaceAll()方法,可以一次性替换所有匹配。
'aabbcc'.replaceAll('b', '_')
// 'aa__cc'

它的用法与replace()相同,返回一个新字符串,不会改变原字符串。

6.查看字符串中某个索引的字符

at()方法接受一个整数作为参数,返回参数指定位置的字符,支持负索引(即倒数的位置)。

const str = 'hello';
str.at(1) // "e"
str.at(-1) // "o"

如果参数位置超出了字符串范围,at()返回undefined。

相关推荐

  1. ES6防抖节流的方法

    2024-01-31 07:36:05       60 阅读
  2. ES6基本语法常用方法

    2024-01-31 07:36:05       39 阅读
  3. ES6】字符串新增方法

    2024-01-31 07:36:05       40 阅读
  4. es6的一些方法

    2024-01-31 07:36:05       40 阅读
  5. ES6ESNext规范

    2024-01-31 07:36:05       27 阅读
  6. ES6之对象新增的方法

    2024-01-31 07:36:05       58 阅读
  7. ES6三种暴露方法

    2024-01-31 07:36:05       84 阅读
  8. ES6中 字符串的方法

    2024-01-31 07:36:05       44 阅读
  9. ES6 数组常用方法

    2024-01-31 07:36:05       43 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-31 07:36:05       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-31 07:36:05       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-31 07:36:05       87 阅读
  4. Python语言-面向对象

    2024-01-31 07:36:05       96 阅读

热门阅读

  1. 面试问答总结之ElasticSearch

    2024-01-31 07:36:05       69 阅读
  2. centos7常用命令之安装插件2

    2024-01-31 07:36:05       60 阅读
  3. react列表拖拽排序组件

    2024-01-31 07:36:05       65 阅读
  4. 2024 高级前端面试题之 React 「精选篇」

    2024-01-31 07:36:05       74 阅读
  5. 创建型模式之单例模式

    2024-01-31 07:36:05       53 阅读
  6. How to install R in ubuntu 22.04

    2024-01-31 07:36:05       52 阅读
  7. uniapp中mescroll的使用

    2024-01-31 07:36:05       55 阅读
  8. 分段息肉数据库Kvasir-SEG介绍和下载

    2024-01-31 07:36:05       69 阅读
  9. spring-web搭建

    2024-01-31 07:36:05       42 阅读
  10. 「HDLBits题解」Building Larger Circuits

    2024-01-31 07:36:05       64 阅读
  11. 【OpenCV 编程指南】

    2024-01-31 07:36:05       51 阅读
  12. 【文新一言】每日英语

    2024-01-31 07:36:05       60 阅读
  13. 26. Remove Duplicates from Sorted Array

    2024-01-31 07:36:05       53 阅读