美文网首页
带你读书之“红宝书”:第五章 基本引用类型⑥

带你读书之“红宝书”:第五章 基本引用类型⑥

作者: 前端不许笑 | 来源:发表于2022-02-15 22:54 被阅读0次

    写在前头

    大多数小伙伴看技术书籍都会用“啃”来描述读书的直观感受,当然我也是一个前端小白,白的透明那种,但是我在读技术书籍感觉到“啃”的时候,我希望把我啃红宝书第四版的过程的想法,总结带给大家,以供后来者能够更快上手。

    注: 本文由于作者水平原因,如有错误之处,恳请大家指正,另外随着学习的深入,体会的加深,我会不断回来更新,修改这类文章。

    思维导图

    image.png

    简述

    引用类型虽然有点像类,但跟类并不是一个概念。还是得区分开来,引用类型就是一个模子,可以用这个模子造出很多东西。

    5.3. 原始值包装类型

    image.png

    5.3.3. String

    1. JavaScript 字符

    • 码元

    大多数字符来说,16位码元对应一个字符。

    • charAt()

      返回给定索引位置的字符。

    • Unicode编码

    js字符串使用2个Unicode编码混合。

    • 官方博文推荐

    Mathias Bynens的博文。

    • charCodeAt()

    通过索引位置查询对应字符的编码。

    • fromCharCode()

    给定的UTF-16码元创建字符。

    • Unicode增补字符平面

      ① 代理对

      一个字符使用2个16位码元的策略方式。

      ② 码点

      Unicode中一个字符的完整标识。

      ③ codePointAt()

      可以正确的解析单码元字符和代理对字符。

      ④ fromcodePoint()

      接受任意数量的码点,返回一个拼接好的字符串。

    2. normalize 方法

    • 诞生背景

      Unicode字符有很多种编码格式。

    编码方式

    不同的编码方式也可以表示同样的字符。

    判断相等

    编码方式不同,但是看起来一样的字符其实并不相等。

    • 字符规范化

    4种规范化形式

    NFD,NFC,NFKD,NFKC

    判断字符串是否规范化

    ①4种比较全是false,未规范化

    字符串和调用normalize()方法返回的值比较

    ②true表明已经规范化

    3. 字符串操作方法

    • 向后拼接字符串

    concat()

    let string = "Hello";
    
    let newstring = string.concat("World");
    
    console.log("newstring"); // HelloWorld
    

    不会改变原来字符串。可以接收多个参数。

    • 提取子字符串

    ①参数一个

    3个方法一样

    返回调用他们的字符串的一个子字符串。

    只传入一个参数表示开始位置,从开始位置一直提取到末尾。

    ②参数2个

    slice(),substring()

    第二个参数表示结束提取位置,闭区间这个位置也要提取。

    substr()

    第二个参数表示返回子字符串的数量。

    ③参数是负数

    转换负数,重复原来默认操作

    把负数加上length变为正数。再使用下面的规则。

    slice()

    把所有的负数加上length变为正数。

    substring()

    所以负参数全部变为0。

    会将较小的参数作为提取字符开始的起点。

    substr()

    第一个负参数加上length变为正数,第二个负参数变0。

    相关文章

      网友评论

          本文标题:带你读书之“红宝书”:第五章 基本引用类型⑥

          本文链接:https://www.haomeiwen.com/subject/qrcrlrtx.html