在许多javascript源代码(主要是配置文件)中,代码如
process.env.NODE_ENV = ~fs.readdirSync(configPath).map(function(file) {
console.log(file);
console.log(file.slice(0, -3));
//The file is something like all.js. After use file.slice(0, -3) the output is like alljavascri
return file.slice(0, -3);
}).indexOf(process.env.NODE_ENV) ? process.env.NODE_ENV : 'development';
我的问题是,~fs.readdirSync
的含义是什么?这里的~
看起来不像xor。
答案 0 :(得分:1)
~
是bitwise NOT运算符NOT。 x
中的每个位都在~x
中反转。例如:
x = 00011011
~x = 11100100
或者,它等同于使用0xFFFFFFFF
(所有1位)执行XOR:
00011011
XOR 11111111
--------
= 11100100