js强制类型转换技巧(Javascript)

布尔型转换为数字、字符串:

+true === 1; //true

-true === -1; //true

+false === 0; //true

true + 1 === 2; //true

true * 100 === 100; //true

false + 1 === 1; //true

false * 100 === 0; //true

true + "" === "true"; //true

false + "" === "false"; //true

数字转换为布尔值、字符串:

!!1 === true; //true

!!-1 === true; //true

!!0 === false; //true

!1 === false; //true

!-1 === false; //true

!0 === true; //true

1 + "" === "1"; //true

字符串转换为布尔值、数字:

!!"abc" === true; //true

!!"" === false; //true

!!"0" === true; //true

!!"false" === true; //true

!"abc" === false; //true

!"" === true; //true

!"0" === false; //true

!"false" === "false"; //true

+"0xff" === 255; //true

+"0x10" === 16; //true

+"010" === 10; //true

+"100" === 100; //true

"100" * 1 === 100; //true

"0xff" * 1 === 255; //true

undefined转换为布尔值、数字、字符串:

!!undefined === false; //true

!undefined === true; //true

+undefined + "" === "NaN"; //true

+!!undefined === 0; //true

undefined + "" === "undefined"; //true

null转换为布尔值、数字、字符串:

!!null === false; //true

!null === true; //true

+null === 0; //true

null + 1 === 1; //true

null - 1 === -1; //true

null + "" === "null"; //true

NaN转换为布尔值、数字、字符串:

!!NaN === false; //true

!NaN === true; //true

+NaN + "" === "NaN"; //true

+!!NaN === 0; //true

+!NaN === 1; //true

NaN + "" === "NaN"; //true

注意事项:

字符串、true、false、null是可以直接进行数值运算的(字符串在运算时自动转化为相应数字、true会自动转化为1,false和null则转化为0),

而undefined和NaN则不可以直接参与运算(直接参与运算则会返回NaN,不过可以现转化为布尔值再转化为数字)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值