在database.js里正则匹配的时候为什么会加上~这个符号
来源:4-3 通过 mongoose 建模全局票据 access_token

coldplay4
2017-09-10
fs.readdirSync(models)
.filter(file => ~file.search(/^[^\.].*\.js$/))
.forEach(file => require(resolve(models, file)))
写回答
2回答
-
~是js中的位运算符(bitwise operator),意思是按位取反,~(x) = -x -1,search方法找不到匹配值时返回-1,~(-1)= 0(这里自动转换为false)。所以明白了吧。用bitwise operator可以提高search的效率,但这种“微优化”会影响代码的可读性,所以js代码中是否使用bitwise operator是有争议的。
112017-10-17 -
wlj163
2017-09-15
我也不知道,Mark下
00
相似问题