返回

掌握JS基本功,纵横代码世界 - 类型检测与转换指南

前端

类型检测:识别数据类型

类型检测是指检查变量或表达式的值是什么类型。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({})