JavaScript类型转换规则

类型转换

先梳理一下es6之前有五种基本数据类型:NullUndefinedStringNumber 、Boolean

布尔类型转换规则

  • 直观上为空的值(0、空字符串、nullundefined、和NaN)将变为false

注意 :包含"0"true

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

开发过程中可能会遇见下面的这种情况,见下图:
在这里插入图片描述
这里解决方法就是让后台同学清除一下数据就好…,那我们看看如果用JavaScript是怎么做的 看下面代码:

const arr = [null,null,null,"",1,2,undefined,0,false,NaN].filter(Boolean)//[1,2]
//等同于 
filter((x=>{return Boolean(x)})

数字类型转换规则

  • undefined变成NAN
  • null变成 0
  • truefalse 变成 1 and 0
  • string:去掉首尾空格的纯数字数字字符串中含有的数字、如果剩余字符串为空,则转换结果为零,否则将从剩余字符串中读取数字,当类型出现error返回NaN
console.log(Number(null)) // 0
console.log(Number("123x")) //NaN
console.log(Number(false)) // 0
console.log(Number(undefined)) // NaN
console.log(Number(" 23 "));

字符串转换规则

  • null转换为'null'
  • undefined转换为'undefined'
  • true 转换为'true'false'false'
    console.log(String(null));//'null'
    console.log(String(undefined));//'undefined'
    console.log(String(true));//'true'
    console.log(String(false));// 'false'

暂时记录这些吧…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会跳舞的牙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值