JavaScript 数据类型

245 阅读3分钟

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" // 返回值是字符串型