带你读书之“红宝书”:第三章 语法基础(中)之 数据类型中部分String 类型

简介: 带你读书之“红宝书”:第三章 语法基础(中)之 数据类型中部分String 类型

写在前头

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


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


思维导图

微信截图_20221111183354.png


脉络

这小节就是介绍了3.4数据类型中的3.4.6. String 类型。


3.4数据类型

微信截图_20221111183405.png


3.4.6. String 类型

21a76e8441ff43b9b36f6edb95c23c91_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


字符串写法,表示什么

表示:String(字符串)数据类型表示零或多个 16 位 Unicode 字符序列。

写法:可以使用双引号(')、单引号(')或反引号( ` )标示。


1.字符字面量

  • 种类

书中有一个表格,和其他语言大致相同。

  • 位置

可以出现在字符串中的任意位置

  • 字符长度


①字符序列

转义序列表示一个字符,所以只算一个字符。 不管他本身看上去有很多个字符,但是还是算做一个字符。


②length属性

字符串是特殊的“数组”,依然有length属性,所以可以使用字符串.length直接测出字符串长度。


2.字符串的特点

  • 不可变的

类似const关键字,字符串在初始化之后值都不会改变。

  • 修改字符串原理

由于字符串值不会改变,只能销毁。所以修改字符串就是开辟一个新空间把原先的值和要添加或者要删除的值在开辟的空间上组装之后,再把保存原先的值的字符串销毁。


3.转换为字符串

  • toString()方法
    ①可以用于
    基本上所以数据类型都要这个方法。会将值转换为字符串类型的值。
    ②哪些无此方法
    null 和 undefined 以及符号没有 toString()方法。
    ③接受参数
    不接收任何参数,直接调用。类似length属性。变量名.toString()
    对于数值可以接受底数作为参数,类似Number数据类型中的数值转换里面的parseInt(),  parseFloat()。 虽然这2个函数是将字符串转换为整数和浮点数。
  • String()转型函数
    功能:将要转换的值转换为对应的字符串形式的值。
    转换规则
    ①null
    返回null
    ②undefined
    返回'undefined'
    ③Symbol()
    返回对应的符号表示
    ④有toString()优先
    该值toString()有调用该方法并返回结果,优先使用toString()


4.模板字面量

  • 定义字符串本质

模板字面量不是字符串,而是一种特殊的 JavaScript 句法表达式,只不过求值后得到的是字符串。

  • 与常规定义字符串的区别

保留换行字符,可以跨行定义字符串

  • 定义模板

模板字面量可以用来定义固定模板的字符串。

  • 保持反引号内部的空格
    ①length
    内部的空格依然计算长度
    ②换行符开头
    直接回车,使用模板字面量可以换行开头
    ③没有意料之外的字符


**5.字符串插值    **

  • 实现手段

使用${} {}里面放要插入的值,和原先的字符串不用 + 来链接。

  • 强制转型

插入的值都会被自带的toString()转型为对应的字符串类型。

  • 嵌套的模板字符串无须转义
  • 将表达式转换为字符串时会调用 toString()
  • 在插值表达式中可以调用函数和方法
  • 模板也可以插入自己之前的值


6.模板字面量标签函数 (这里看得迷惑的可以先放一下,学了后面都再回来品)

  • 表达式的参数数量是可变的,使用剩余操作符
  • 有 n 个插值的模板字面量

对于有 n 个插值的模板字面量,传给标签函数的表达式参数的个数始终是 n,而传给标签函数的第一 个参数所包含的字符串个数则始终是 n+1。


7.原始字符串

String.raw标签函数

可以获得原始字符串

字符串数组的.raw属性

在模板字面量中,对于实际的换行符会直接返回\n ,不会换行。



目录
相关文章
|
1月前
|
数据可视化 Java
让星星月亮告诉你,通过反射创建类的实例对象,并通过Unsafe theUnsafe来修改实例对象的私有的String类型的成员属性的值
本文介绍了如何使用 Unsafe 类通过反射机制修改对象的私有属性值。主要包括: 1. 获取 Unsafe 的 theUnsafe 属性:通过反射获取 Unsafe类的私有静态属性theUnsafe,并放开其访问权限,以便后续操作 2. 利用反射创建 User 类的实例对象:通过反射创建User类的实例对象,并定义预期值 3. 利用反射获取实例对象的name属性并修改:通过反射获取 User类实例对象的私有属性name,使用 Unsafe`的compareAndSwapObject方法直接在内存地址上修改属性值 核心代码展示了详细的步骤和逻辑,确保了对私有属性的修改不受 JVM 访问权限的限制
50 4
|
1月前
|
存储 分布式计算 NoSQL
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
25 3
|
3月前
|
NoSQL 安全 Java
Redis6入门到实战------ 三、常用五大数据类型(字符串 String)
这篇文章深入探讨了Redis中的String数据类型,包括键操作的命令、String类型的命令使用,以及String在Redis中的内部数据结构实现。
Redis6入门到实战------ 三、常用五大数据类型(字符串 String)
|
3月前
|
SQL 分布式计算 DataWorks
DataWorks产品使用合集之如何将STRING类型转换为DATETIME类型
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
3月前
|
存储 缓存 NoSQL
深入理解Redis数据类型String原理
本文深入探讨了Redis中String数据类型的实现原理和使用场景,基于Redis 5.0版本进行分析。
深入理解Redis数据类型String原理
|
3月前
|
存储 NoSQL 索引
MPP架构数据仓库使用问题之在ORC文件中,String类型字段是怎么进行编码的
MPP架构数据仓库使用问题之在ORC文件中,String类型字段是怎么进行编码的
|
3月前
|
开发工具 数据安全/隐私保护
【Azure Developer】使用MSAL4J 与 ADAL4J 的SDK时候,遇见了类型冲突问题 "java.util.Collections$SingletonList cannot be cast to java.lang.String"
【Azure Developer】使用MSAL4J 与 ADAL4J 的SDK时候,遇见了类型冲突问题 "java.util.Collections$SingletonList cannot be cast to java.lang.String"
|
3月前
|
存储 C++
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
40 0
|
4月前
|
存储 SQL 分布式计算
MaxCompute产品使用合集之表中的某个列设置为string类型,并且超过了8M,该如何处理
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
4月前
|
缓存 NoSQL Redis
Redis深度解析:核心数据类型之string
Redis 数据类型包括String、Hash、List、Set和Sorted Set。对于String类型的主要操作, 此外,还有通用的Key操作。

热门文章

最新文章