开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 1 天,点击查看活动详情*
Undefined类型
Undefined
类型只有一个值,就是特殊值undefined
如果我们声明一个变量,但是没有对其进行初始化时,它默认就是undefined
注意事项
- 最好在变量定义的时候进行初始化,而不只是声明一个变量
- 不要显示的将一个变量赋值为undefined
- 如果变量刚开始什么都没有,我们可以初始化为0、空字符串、null等值
Object类型
Object
类型是一个特殊的类型,我们通常把它称为引用类型或者复杂类型
其他的数据类型我们通常称之为原始类型,因为它们的值至少包含一个单独的内容(字符串、数字或者其他) ,Object
往往可以表示一组数据,是其他数据的一个集合
在JavaScript
中我们可以使用 花括号{} 的方式来表示一个对象
上面的代码看不懂没关系,后面我们会讲
Null类型
Null
类型同样只有一个值,即特殊值 null
null
类型通常用来表示一个对象为空,所以通常我们在给一个对象进行初始化时,会赋值为null
null
和undefined
的关系
undefined
通常只有在一个变量声明但是未初始化时, 它的默认值是undefined
才会用到- 并且我们不推荐直接给一个变量赋值为
undefined
,所以很少主动来使用 null
值非常常用,当一个变量准备保存一个对象,但是这个对象不确定时,我们可以先赋值为null
数据类型总结
JavaScript
中有八种基本的数据类型(前七种为基本数据类型, 也称为原始类型,而 object
为复杂数据类型,也称为引用类型)
number
用于任何类型的数字:整数或浮点数string
用于字符串:一个字符串可以包含 0 个或多个字符,所以没有单独的单字符类型boolean
用于true
和false
undefined
用于未定义的值 —— 只有一个 undefined 值的独立类型object
用于更复杂的数据结构null
用于未知的值 —— 只有一个 null 值的独立类型
数据类型的转换
- 在开发中,我们会经常需要对数据类型进行转换。大多数情况下,运算符和函数会自动将赋予它们的值转换为正确的类型,这是一种隐式转换
- 我们也可以,通过显示的方式来对数据类型进行转换
字符串String的转换
转换方式一:隐式转换
如果 +运算符左右两边有一个是字符串,那么另一边会自动转换成字符串类型进行拼接
转换方式二:显式转换
说白了,我们使用显式转换,一般是人为的去使用函数进行操作
数字类型Number的转换
转换方式一:隐式转换
- 在算数运算中,通常会将其他类型转换成数字类型来进行运算,但是如果是 +运算,并且其中一边有字符串,那么还是按照字符串来连接的
转换方式二:显式转换
由上文可知,我们也可以通过使用Number()函数
来进行显式的转换
值 | 转换后的值 |
---|---|
undefined | NaN |
null | 0 |
true 和 false | 1 and 0 |
string | 去掉首尾空格后的纯数字字符串中含有的数字。如果剩余字符串为空,则转换结 果为 0。否则,将会从剩余字符串中“读取”数字。当类型转换出现 error 时返回 NaN。 |
布尔类型的Boolean的转换
它发生在逻辑运算中,但是也可以通过调用 Boolean(value)
显式地进行转换
转换规则
- 直观上为“空”的值(如 0、空字符串、
null
、undefined
和NaN
)将变为false
- 其他值变成
true
值 | 转化后 |
---|---|
0, null, undefined, NaN, "" | false |
其他值 | true |
注意:包含 0 的字符串 "0" 是 true
。一些编程语言(比如 PHP
)视 "0" 为 false。但在 JavaScript
中,非空的字符串总是 true