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

您可能还喜欢...

发表评论

您的电子邮箱地址不会被公开。