JavaScript类型转换

最近用js写算法题,由于之前只会C语言,所以导致js很多基础知识不熟练,比如把字符串前置的0去掉,我的第一思路就是遍历。然后使用AI才发现基础知识非常重要,所以现在只能恶补js基础知识。

下面是常用的一些类型转换和例子:

1. 数字类型转换

Number(value)

将值转换为数字类型。如果无法转换,则返回 NaN

  • 示例

    JavaScript

    复制

    console.log(Number("123")); // 123
    console.log(Number("00123")); // 123
    console.log(Number("abc")); // NaN
    console.log(Number(true)); // 1
    console.log(Number(false)); // 0
    console.log(Number(null)); // 0
    console.log(Number(undefined)); // NaN
    
parseInt(str, radix)

将字符串解析为整数。radix 是进制基数(如 10 表示十进制)。如果省略 radix,解析方式可能会因字符串格式而异。

  • 示例

    JavaScript

    复制

    console.log(parseInt("123", 10)); // 123
    console.log(parseInt("00123", 10)); // 123
    console.log(parseInt("123abc", 10)); // 123
    console.log(parseInt("abc", 10)); // NaN
    console.log(parseInt("0x1A", 16)); // 26
    
parseFloat(str)

将字符串解析为浮点数。

  • 示例

    JavaScript

    复制

    console.log(parseFloat("123.45")); // 123.45
    console.log(parseFloat("00123.45")); // 123.45
    console.log(parseFloat("123.45abc")); // 123.45
    console.log(parseFloat("abc")); // NaN
    

2. 字符串类型转换

String(value)

将值转换为字符串类型。

  • 示例

    JavaScript

    复制

    console.log(String(123)); // "123"
    console.log(String(true)); // "true"
    console.log(String(false)); // "false"
    console.log(String(null)); // "null"
    console.log(String(undefined)); // "undefined"
    console.log(String([1, 2, 3])); // "1,2,3"
    console.log(String({ key: "value" })); // "[object Object]"
    

3. 布尔类型转换

Boolean(value)

将值转换为布尔类型。除了 0""nullundefinedNaNfalse 之外,其他值都会被转换为 true

  • 示例

    JavaScript

    复制

    console.log(Boolean(123)); // true
    console.log(Boolean(0)); // false
    console.log(Boolean("")); // false
    console.log(Boolean("abc")); // true
    console.log(Boolean(null)); // false
    console.log(Boolean(undefined)); // false
    console.log(Boolean(NaN)); // false
    

4. 数组类型转换

Array.from(value)

将类数组对象(如字符串、arguments 对象等)转换为数组。

  • 示例

    console.log(Array.from("abc")); // ["a", "b", "c"]
    console.log(Array.from([1, 2, 3])); // [1, 2, 3]
    console.log(Array.from({ length: 3 })); // [undefined, undefined, undefined]
    

5. 对象类型转换

Object(value)

将值转换为对象类型。如果值是 nullundefined,会直接返回 nullundefined

  • 示例

    console.log(Object(123)); // { [[PrimitiveValue]]: 123 }
    console.log(Object("abc")); // { [[PrimitiveValue]]: "abc" }
    console.log(Object(true)); // { [[PrimitiveValue]]: true }
    console.log(Object(null)); // null
    console.log(Object(undefined)); // undefined
    console.log(Object([1, 2, 3])); // [1, 2, 3]
    console.log(Object({ key: "value" })); // { key: "value" }
    

6. 其他类型转换

Symbol(value)

将值转换为符号类型。通常用于创建唯一的标识符。

  • 示例

    console.log(Symbol("key")); // Symbol(key)
    console.log(Symbol(123)); // Symbol(123)
    console.log(Symbol(true)); // Symbol(true)
    
BigInt(value)

将值转换为大整数类型。通常用于处理非常大的整数。

  • 示例

    console.log(BigInt(123)); // 123n
    console.log(BigInt("123")); // 123n
    console.log(BigInt(123456789012345678901234567890)); // 123456789012345678901234567890n
    
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值