返回
掌握JS基本功,纵横代码世界 - 类型检测与转换指南
前端
2023-09-26 13:38:52
类型检测:识别数据类型
类型检测是指检查变量或表达式的值是什么类型。JavaScript提供了两种类型检测方法:严格比较和宽松比较。
1. 严格比较(===)
严格比较会检查变量或表达式的值和类型是否完全相等。如果值和类型都相等,则返回true;否则,返回false。例如:
console.log(1 === 1); // true
console.log('1' === 1); // false
2. 宽松比较(==)
宽松比较会尝试将不同类型的值转换为相同类型,然后进行比较。如果转换后的值相等,则返回true;否则,返回false。例如:
console.log(1 == '1'); // true
console.log(true == 1); // true
类型转换:在不同类型间转换
类型转换是指将一种类型的值转换为另一种类型的值。JavaScript提供了多种类型转换方法:强制类型转换、数字转换、字符串转换和布尔值转换。
1. 强制类型转换(类型转换运算符)
强制类型转换是通过类型转换运算符(如Number()、String()、Boolean()等)将一种类型的值显式转换为另一种类型的值。例如:
console.log(Number('1')); // 1
console.log(String(1)); // '1'
console.log(Boolean(0)); // false
2. 数字转换
数字转换是指将字符串或布尔值转换为数字。字符串或布尔值转换为数字时,会忽略空格和前导零。例如:
console.log(Number('123')); // 123
console.log(Number(true)); // 1
console.log(Number(false)); // 0
3. 字符串转换
字符串转换是指将数字或布尔值转换为字符串。数字或布尔值转换为字符串时,会自动调用toString()方法。例如:
console.log(String(123)); // '123'
console.log(String(true)); // 'true'
console.log(String(false)); // 'false'
4. 布尔值转换
布尔值转换是指将字符串、数字或对象转换为布尔值。字符串、数字或对象转换为布尔值时,会自动调用valueOf()方法。例如:
console.log(Boolean('')); // false
console.log(Boolean(0)); // false
console.log(Boolean({})