JavaScript 是一种动态类型语言,变量的数据类型可以根据赋值的值而自动确定,也可以随时修改变量的数据类型。在 JavaScript 中,有以下几种常见的数据类型,以及它们之间的相互转换方式:
-
基本数据类型:
- 字符串 (String):用于表示文本数据,使用引号 (单引号或双引号) 包围。
- 数字 (Number):用于表示数值,包括整数和浮点数。
- 布尔值 (Boolean):用于表示逻辑值,只有两个取值:true (真) 或 false (假)。
- 空值 (null):表示一个空值。它是 JavaScript 的一个特殊关键字。
- 未定义 (undefined):表示某个变量未被定义或赋值。
通过以下方式可以进行相互转换:
- 字符串转数字:使用
Number()
函数,例如Number("123")
。 - 数字转字符串:使用
toString()
方法,例如123.toString()
。 - 数字转布尔值:使用逻辑运算符,例如
Boolean(0)
。 - 布尔值转字符串:使用
toString()
方法,例如true.toString()
。 - 字符串转布尔值:使用逻辑运算符,例如
Boolean("true")
。 - 布尔值转数字:使用
Number()
函数,例如Number(true)
。 - 字符串转空值:使用
null
关键字,例如null
。 - 数字转未定义:通过
undefined
关键字,例如undefined
。
-
引用数据类型:
- 对象 (Object):一组键值对的集合,使用对象字面量
{}
或通过new Object()
构造函数创建。 - 数组 (Array):用于存储多个值的有序集合,使用方括号
[]
或通过new Array()
构造函数创建。 - 函数 (Function):用于封装可执行的代码块,可以被调用执行。
- 正则表达式 (RegExp):用于匹配和操作字符串的模式。
- 日期 (Date):用于表示日期和时间的对象。
引用数据类型之间的相互转换通常是通过对应的构造函数或方法来实现的:
- 对象转字符串:使用
JSON.stringify()
方法,例如JSON.stringify({name: "John", age: 30})
。 - 字符串转对象:使用
JSON.parse()
方法,例如JSON.parse('{"name":"John", "age":30}')
。 - 数组转字符串:使用
join()
方法,例如["a", "b", "c"].join(",")
。 - 字符串转数组:使用
split()
方法,例如"a,b,c".split(",")
。 - 数组转对象:使用对象字面量
{}
,例如{name: "John", age: 30}
。 - 对象转数组:使用
Object.values()
或Object.keys()
方法,例如Object.values({name: "John", age: 30})
。 - 字符串/数字转日期:使用
new Date()
构造函数,例如new Date("2021-01-01")
。 - 日期转字符串/数字:使用
toISOString()
或getTime()
方法,例如new Date().toISOString()
或new Date().getTime()
。
- 对象 (Object):一组键值对的集合,使用对象字面量
注意:在进行类型转换时,应注意数据的合法性和可能的异常情况。