In many javascript source code(mostly, config file), with code like
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';
My questions is, what does ~fs.readdirSync means? The ~ here doesn't look like xor.
 
    