ES6字符串和数组方法使用

本文详细介绍了ES6中字符串的字符表示法,如大括号法,以及数组新增的at、includes、startsWith、endsWith等方法,还有Array.from、扩展运算符、copyWithin等实用功能。同时,提到了如何处理Unicode字符和数组的空位问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 字符串的扩展
    1. 字符的Unicode表示法
      1. ES6使用大括号表示法表示字符
        "\u{20BB7}"
        // "𠮷"
        
        "\u{41}\u{42}\u{43}"
        // "ABC"
        
        let hello = 123;
        hell\u{6F} // 123
        
        '\u{1F680}' === '\uD83D\uDE80'
        // true
      2. JavaScript共有6种方法可以表示一个字符。个人感觉大括号表示法综合最好用。
        '\z' === 'z'  // true
        '\172' === 'z' // true
        '\x7A' === 'z' // true
        '\u007A' === 'z' // true
        '\u{7A}' === 'z' // true
    2. at()
      1. ES5对字符串对象提供charAt方法,返回字符串给定位置的字符。该方法不能识别码点大于0xFFFF的字符。
        'abc'.charAt(0) // "a"
        '𠮷'.charAt(0) // "\uD842"
      2. 目前,有一个提案,提出字符串实例的at方法,可以识别Unicode编号大于0xFFFF的字符,返回正确的字符。
        'abc'.at(0) // "a"
        '𠮷'.at(0) // "𠮷"
    3. includes(), startsWith(), endsWith()
      1. 传统上,JavaScript只有indexOf方法,可以用来确定一个字符串是否包含在另一个字符串中。ES6又提供了三种新方法。
      2. includes():返回布尔值,表示是否找到了参数字符串。用法和indexOf方法类似
      3. startsWith():返回布尔值,表示参数字符串是否在源字符串的头部。
      4. endsWith():返回布尔值,表示参数字符串是否在源字符串的尾部。
      5. 示例:
        var s = 'Hello world!';
        
        s.startsWith('Hello') // true
        s.endsWith('!') // true
        s.includes('o') // true
        
        
        var t = 'Hello world!';
        t.includes('Hello', 6) // false
        t.startsWith('world', 6) // true
        t.endsWith('Hello', 5) // true
        
      6. 注意(searchString, position)
        //startsWith和includes:从前向后position索引从0开始可以包括position处信息//endsWith:从前向后position索引从0开始不包括position处信息
    4. repeat()
      1. repeat方法返回一个新字符串,表示将原字符串重复n次。
        'x'.repeat(3) // "xxx"
        'hello'.repeat(2) // "hellohello"
        'na'.repeat(0) // ""
      2. 参数如果是小数,会被取整。
        'na'.repeat(2.9) // "nana"
      3. 如果repeat的参数是负数或者Infinity,会报错。
        'na'.repeat(Infinity)
        // RangeError
        'na'.repeat(-1)
        // RangeError
      4. 但是,如果参数是0到-1之间的小数,则等同于0,这是因为会先进行取整运算。0到-1之间的小数,取整以后等于-0repeat视同为0。
        'na'.repeat(-0.9) // ""
      5. 参数NaN等同于0。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值