复习JavaScript(五)

502 阅读4分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 1 天,点击查看活动详情*

Undefined类型

Undefined类型只有一个值,就是特殊值undefined

如果我们声明一个变量,但是没有对其进行初始化时,它默认就是undefined

image-20230120200401807

注意事项

  1. 最好在变量定义的时候进行初始化,而不只是声明一个变量
  2. 不要显示的将一个变量赋值为undefined
  3. 如果变量刚开始什么都没有,我们可以初始化为0、空字符串、null等值

Object类型

Object 类型是一个特殊的类型,我们通常把它称为引用类型或者复杂类型

其他的数据类型我们通常称之为原始类型,因为它们的值至少包含一个单独的内容(字符串、数字或者其他)Object往往可以表示一组数据,是其他数据的一个集合

JavaScript中我们可以使用 花括号{} 的方式来表示一个对象

image-20230120203534613

上面的代码看不懂没关系,后面我们会讲

Null类型

Null 类型同样只有一个值,即特殊值 null

null类型通常用来表示一个对象为空,所以通常我们在给一个对象进行初始化时,会赋值为null

image-20230120203944101

nullundefined的关系

  1. undefined通常只有在一个变量声明但是未初始化时, 它的默认值是undefined才会用到
  2. 并且我们不推荐直接给一个变量赋值为undefined,所以很少主动来使用
  3. null值非常常用,当一个变量准备保存一个对象,但是这个对象不确定时,我们可以先赋值为null

数据类型总结

JavaScript 中有八种基本的数据类型(前七种为基本数据类型也称为原始类型,而 object复杂数据类型也称为引用类型

  1. number 用于任何类型的数字:整数或浮点数
  2. string 用于字符串:一个字符串可以包含 0 个或多个字符,所以没有单独的单字符类型
  3. boolean 用于 truefalse
  4. undefined 用于未定义的值 —— 只有一个 undefined 值的独立类型
  5. object 用于更复杂的数据结构
  6. null 用于未知的值 —— 只有一个 null 值的独立类型

数据类型的转换

  • 在开发中,我们会经常需要对数据类型进行转换大多数情况下运算符和函数会自动将赋予它们的值转换为正确的类型,这是一种隐式转换
  • 我们也可以,通过显示的方式来对数据类型进行转换

字符串String的转换

转换方式一:隐式转换

如果 +运算符左右两边有一个是字符串,那么另一边会自动转换成字符串类型进行拼接

image-20230120214347339

转换方式二:显式转换

image-20230120214940541

说白了,我们使用显式转换,一般是人为的去使用函数进行操作

数字类型Number的转换

转换方式一:隐式转换

  • 在算数运算中,通常会将其他类型转换成数字类型来进行运算,但是如果是 +运算,并且其中一边有字符串,那么还是按照字符串来连接的

转换方式二:显式转换

由上文可知,我们也可以通过使用Number()函数来进行显式的转换

转换后的值
undefinedNaN
null0
true 和 false1 and 0
string去掉首尾空格后的纯数字字符串中含有的数字。如果剩余字符串为空,则转换结 果为 0。否则,将会从剩余字符串中“读取”数字。当类型转换出现 error 时返回 NaN。

布尔类型的Boolean的转换

它发生在逻辑运算中,但是也可以通过调用 Boolean(value) 显式地进行转换

转换规则
  • 直观上为“空”的值(如 0空字符串、nullundefinedNaN)将变为 false
  • 其他值变成 true
转化后
0, null, undefined, NaN, ""false
其他值true

注意:包含 0 的字符串 "0" 是 true。一些编程语言(比如 PHP)视 "0" 为 false。但在 JavaScript 中,非空的字符串总是 true