Javascript例举3种强制类型转换和2种隐式类型转换?
在 JavaScript 中,有三种常见的强制类型转换和两种隐式类型转换。
一、三种强制类型转换**
1、字符串转换(toString()):将数值、布尔值或对象转换为字符串。
console.log(String(123)); // "123"
console.log(String(true)); // "true"
console.log(String({ a: 1 })); // "[object Object]"
2、数值转换(Number()):将字符串、布尔值或对象转换为数值。
console.log(Number("123")); // 123
console.log(Number(true)); // 1
console.log(Number({ a: 1 })); // NaN
3、布尔值转换(Boolean()):将数值、字符串、对象、空值或 undefined 转换为布尔值。
console.log(Boolean(123)); // true
console.log(Boolean("abc")); // true
console.log(Boolean({ a: 1 }))); // true
console.log(Boolean(null)); // false
console.log(Boolean(undefined)); // false
二、两种隐式类型转换**
1、加法运算符(+):当其中一个操作数是字符串时,另一个操作数也会被转换为字符串。
console.log(1 + "2"); // "12"
console.log(true + "2"); // "true2"
console.log({ a: 1 } + "2"); // "[object Object]2"
2、比较运算符(<、<=、>、>=):当其中一个操作数是字符串时,另一个操作数也会被转换为字符串。
console.log(1 < "2"); // true
console.log(true < "2"); // true
console.log({ a: 1 } < "2"); // false
需要注意的是,在进行比较运算时,如果两个操作数都是数值或布尔值,则不会进行隐式类型转换。
以下是一个示例代码:
console.log(String(123)); // "123"
console.log(Number("123")); // 123
console.log(Boolean(123)); // true
console.log(1 + "2"); // "12"
console.log(1 < "2"); // true
近期评论