看到这段代码, 没明白是什么意思, 这里面的!!是什么语法呢?
export function isLogin() {
return !!cookie.load('token')
}
是两次做非运算吗? 负负得正, 为什么要写两个!号呢?
看到这段代码, 没明白是什么意思, 这里面的!!是什么语法呢?
export function isLogin() {
return !!cookie.load('token')
}
是两次做非运算吗? 负负得正, 为什么要写两个!号呢?
同上都是套路。
下面我列举一下相关常用套路:
// 强制转换为Boolean 用 !!
var bool = !!"c";
console.log(typeof bool); // boolean
// 强制转换为Number 用 +
var num = +"1234";
console.log(typeof num); // number
// 强制转换为String 用 ""+
var str = ""+ 1234;
console.log(typeof str); // string
这只是部分也是比较取巧的方法,为了可读性建议还是按照官方语法写。我刚接触前端,回答得不对的请大家及时指正。刚到Segmentfault,还求个赞,谢谢
转化为boolean类型,另外你看这句代码不是更有趣
(!(~+[])+{})[--[~+""][+[]]*[~+[]] + ~~!+[]]+({}+[])[[~!+[]]*~+[]]
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
2 回答4.8k 阅读✓ 已解决
4 回答4.4k 阅读✓ 已解决
4 回答1.9k 阅读✓ 已解决
这是套路 , 如何把一个任意类型的值转换为布尔类型?
用!! 一个!是取非 再一个!又取非 相当于把这个数据转换为boolen类型了