gpt4 book ai didi

javascript - !~myVar 是做什么的?

转载 作者:行者123 更新时间:2023-11-28 18:52:41 27 4
gpt4 key购买 nike

我正在尝试阅读这段代码:

  var cloneKeys = Object.keys(base).filter(function ( k ) {
return !~noCloneKeys.indexOf(k);
});

!~在这里做什么?我以前从未见过,而且很难搜索。来自 expressions and operators reference它看起来像是逻辑运算符和按位运算符的组合,但这对我来说没有任何意义。

最佳答案

这是 noCloneKeys.indexOf(k) == -1 的(非常不可读的)简短形式。 .

~value = binary inverse, ~(-1) => 0
!value = boolean inverse, !(0) => true

为了让您的开发人员同事保持头脑清醒,请写信 == -1< 0 ...

<小时/>

详细:

-1 == binary 11111111111111111111111111111111 (assuming 32 bit integer)
~(-1) == 00000000000000000000000000000000
!(~(-1)) == !(0) == true

关于javascript - !~myVar 是做什么的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34224230/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com