javascript - `~`在javascript中是什么意思

标签 javascript node.js

我查看 express 的代码,看到这个代码https://github.com/visionmedia/express/blob/master/lib/application.js#L490

if ('all' == envs || ~envs.indexOf(this.settings.env)) fn.call(this);

~envs

之前的意思

最佳答案

如果您想知道为什么在这种情况下使用它,它是一种简写方式,用于找出 indexOf 方法是否找到了一些东西。

indexOf 未找到时返回 -1,找到时返回 >= 0。因此,当您执行 ~-1 时,您会得到 0(一个虚假值),而当您对其他任何事情执行此操作时,您会得到一个真实值。

所以:

if( ~str.indexOf( "something" ) ) {
...
}

是一种更简短的说法

if( str.indexOf( "something" ) !== -1 ) {
...
}

如果您想知道 -1 是 0 的非,请阅读 here

关于javascript - `~`在javascript中是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8191531/

相关文章:

javascript - 错误 : querySrv ENOTFOUND _mongodb. _tcp.cluster0.kspub.mongodb.net

javascript - 配置 Node.js 应用程序以仅在特定端点上启用 CORS

javascript - 获取更高分辨率的 Facebook 个人资料图片

javascript - 多次显示窗口警报 - Google Apps 脚本

node.js - 从 NodeJS(或云函数)获取 GCE 实例的临时 IP

node.js - 如何模拟 typeorm 连接

node.js - 对 Jest 手动模拟进行断言

node.js - Nuxt run dev fatal error ,状态码 500

node.js - 使用 webpack 创建 npm 包

javascript - 等待用户点击而不是页面加载来启动功能