JavaScript 中有两种类型转换:隐式类型转换和显式类型转换。
隐式类型转换指 JavaScript 在运行时自动将一种类型转换为另一种类型。例如,在数学运算中,JavaScript 会将字符串转换为数字。
显式类型转换指在代码中使用内置函数或全局对象将一种类型显式地转换为另一种类型。例如,使用 Number() 函数将字符串转换为数字,使用 String() 函数将数字转换为字符串。
另外,JavaScript 还提供了一些常用的类型转换函数,如 parseInt() 和 parseFloat() 用于将字符串转换为整数和浮点数。
还有一些其它的方法来进行类型转换,如:
需要注意的是,在 JavaScript 中使用 == 运算符进行比较时会发生隐式类型转换,而使用 === 运算符进行比较时不会发生类型转换,所以在比较值的相等性时建议使用 === 运算符。
需要注意的是,JavaScript 的类型转换有一些需要特别注意的地方:
以下是一些 JavaScript 类型转换的示例:
1、隐式类型转换:
let num = "42"; console.log(num + 2); // "422"
2、显式类型转换:
let num = "42"; console.log(Number(num) + 2); // 44
3、parseInt() 和 parseFloat() 函数转换:
console.log(parseInt("42", 10)); // 42 console.log(parseFloat("3.14")); // 3.14
4、toString() 函数转换:
console.log((42).toString()); // "42" console.log((true).toString()); // "true"
5、布尔值转换:
console.log(Boolean(0)); // false console.log(Boolean("hello")); // true
6、运算符转换:
console.log(+"42") // 42
7、使用 Object() 函数将原始类型转换为对象:
console.log(typeof Object(42)); // object
8、使用 Symbol() 函数将字符串转换为 Symbol 类型:
console.log(typeof Symbol("hello")); // symbol
9、使用 JSON.parse() 和 JSON.stringify() 函数将字符串转换为对象和对象转换为字符串:
let jsonString = '{"name":"John","age":30}'; let obj = JSON.parse(jsonString); console.log(obj); // { name: 'John', age: 30 } let jsonString2 = JSON.stringify(obj); console.log(jsonString2); // '{"name":"John","age":30}'
需要注意的是,上述类型转换方式需要满足一定的条件,需要注意数据的合法性,如 JSON.parse() 和 JSON.stringify() 方法只能解析和序列化 JSON 格式的字符串。
还有一些需要注意的地方:
在使用类型转换时,需要根据实际需求进行选择,并且要注意隐式类型转换的影响。