JavaScript中!!()的作用

JavaScript中!!()的作用

有两个概念:显式转换和隐式转换。
显式转换:
const a = parseInt('11111111111');
const b = Obj.toString();
隐式转换:
var a = '111'+0;      // a的结果为数值型;
var b =  111+'';       // b的结果为字符串类型;

javaScript中的 !! 的作用

js代码中有时会用到 ! 取反,对于布尔值类型会将值true和false切换,如果不是布尔值呢?
对于非布尔类型,js会将值先转换为布尔类型,然后才能取反
其它布尔类型:
字符串类型,会将值转换成true,只有空值(’ ')转换成false
数值类型,会将0转换成false,其余都为true
null,undefined会转换成false
一个!是将对象转为布尔型并取反,两个!是将取反后的布尔值再取反,相当于直接将非布尔类型值转为布尔类型值。

let name = !!" "
console.log(name)    // false
let name2 = !!undefined
console.log(name2)   // false
let name3 = !!'abcde'
console.log(name3)  // true
let name2 = !'abc';	
console.log(name2);  // false
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值