js中 ~~这个符号是什么意思

发布网友 发布时间:2022-04-22 01:14

我来回答

1个回答

热心网友 时间:2022-04-22 12:04

~是js里的按位取反操作符,~~就是执行两次按位取反,其实就是保持原值,但是注意虽然是原值,但是对布尔型变量执行这个操作,会转化成相应的数值型变量,也就是 ~~true === 1,~~false === 0。
你的例子里就是利用了这个特性,keystr方法要求返回值是数值型,但是a[key] < b[key]得到的结果是true或false,布尔型,所以用~~处理一下,这种方法速度快,代价远小于写表达式或者判断条件。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com