JavaScript 的数据类型有:
- 数值型 number
- 字符串型 String
- 布尔 Boolean
- 符号 symbol
- 未定义的 undefined
- 空 null
- 对象 object
1. 数值型 number
1.1 整数与浮点数
JavaScript 内部,所有数字都是以64位浮点数形式储存,即使整数也是如此。这就是说,JavaScript 语言的底层根本没有整数,所有数字都是小数(64位浮点数)。
1.2 数值范围
JavaScript 能够表示的数值范围为2的1024方到2的-1023方(开区间),超出这个范围的数无法表示。特殊的数值有以下这些:
- 无穷大 Infinity
- 正无穷 +Infinity
- 负无穷 -Infinity
- NaN 未知数字
- 最大值和最小值
Number.MAX_VALUE // 1.7976931348623157e+308
Number.MIN_VALUE // 5e-324
2. 字符串型 string
2.1 定义
字符串就是零个或多个排在一起的字符,放在单引号或双引号之中。
2.2 转义
反斜杠(\)在字符串内有特殊含义,用来表示一些特殊字符,所以又称为转义符。
2.3 字符串的长度 string.length
属性返回字符串的长度,该属性也是无法改变的。
var A = 'hello'
A.length //返回值是5,所字符串 A 的长度是5
2.4 字符串与数组 string[index]
字符串可以被视为字符数组,因此可以使用数组的方括号运算符,用来返回某个位置的字符(位置编号从0开始)。
var A = 'hello'
A[0] // h
A[1] // e
A[2] // l
A[3] // l
A[4] // o
A[5] // undefined
3. 布尔 boolean
布尔值代表“真”和“假”两个状态。“真”用关键字 true 表示,“假”用关键字 false 表示。布尔值只有这两个值。
否定运算,相等运算,比较运算可以得到布尔值
布尔有五个 falsy 值, falsy 相当于 false 但是又不是 false 的值,分别是:
- undefined
- null
- 0
- NaN
- '' (空字符串)
4. 符号 symbol
(待补充)
5. 未定义的 undefined
null 与 undefined 都可以表示“没有”,含义非常相似。将一个变量赋值为 undefined 或 null,语法效果几乎没区别。
6. 空 null
跟 undefined 类似。
7. 对象 object
(待补充)
8. 数据类型的转换
8.1 数值型转换为字符串型
方法1: String(n)
var n = 1 // 1为数字型
String(n) // 注意 S 大写
"1" // 返回字符串"1"
方法2: n+''
var n = 1 // 1为数字型
n+'' // n加上一个空的字符串
"1" // 返回字符串"1"
8.2 字符串型转换为数值型
方法1: Number(s)
var s = '123'// '123'为字符型
Number(s) // 注意 N 大写
123 // 返回数值 123
方法2:s-0
var s = '123'// '123'为字符型
s-0 // s 减去0
123 // 返回数值 123
方法3:parseInt(s) 和 parseFloat(s)
var s = '123'// '123'为字符型
parseInt(s) // 整数
123 // 返回数值 123
var s = '123'// '123'为字符型
parseFloat(s) // 浮点数
123 // 返回数值 123
8.3 转换为布尔
方法1: boolean(x)
boolean(1)
true // 返回 true
boolean(0)
false // 返回 false
方法2:!!x (两次取反)
8.4 把任何数据类型转换成字符串型
方法1: String(x)
String(123)
"123" // 返回值是字符串型
方法2: x.toString()
var n = 345
n.toString()
"345" // 返回值是字符串型