当前位置:嗨网首页>书籍在线阅读

08-基本类型和对象

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

3.5 基本类型和对象

在JavaScript中,只有基本类型和对象这两种值。基本类型(比如,字符串和数字)的值是不可变的。数字5始终是数字5;字符串 "alpha" 也始终是 "alpha" 。数字不可变很好理解,但是很多人容易在字符串上犯错。比如,将多个字符串连接在一起( "alpha" + "omega" )后,以为只是在原来的字符串上做了修改。其实不然,连接后会生成一个新的字符串,就好比6和5不是同一个数字。后续会深入了解以下6种基本类型:

  • 数字。
  • 字符串。
  • 布尔。
  • null。
  • undefined。
  • 符号。

注意,不可变不是指变量的内容不可变,来看个例子:

let str = "hello"; 
str = "world";

第一个变量str初始化了一个不可变的值 "hello" ,紧接着它被指定了一个新的值 "world" (不可变)。这里关键点在于 "hello""world" 是不同的字符串,只是变量str所存储的值改变了。虽然很多时候,这种区别只是理论上的,但在第6章学习函数的时候这些知识就变得有用了。

除了上述的6种基本类型,剩下的都是对象。与基本类型不太一样的是,对象的形式和值非常多样化,犹如变色龙一般。

由于对象的灵活性,它可以用来构造自定义的数据类型。实际上,JavaScript提供了一些内置的对象类型。这里将讨论以下几种内置对象:

  • Array。
  • Date。
  • RegExp。
  • Map和WeakMap。
  • Set和WeakSet。

最后,基本类型的数字、字符串、布尔型都有对应的对象类型, NumberStringBoolean 。这些对象不会真的存储一个值(基本类型则会存储值),它们只是具备关联到对应基本类型的功能。后面会结合这些对象类型对应的基本类型来学习它们。