了解nodejs中的OR运算符

时间:2016-10-07 15:24:18

标签: node.js node-webkit

您好我有一些问题需要了解以下与node.js相关的代码。

var config = {
    local: {
        mode: 'local',
        port: 3000
    },
    staging: {
        mode: 'staging',
        port: 4000
    },
    production: {
        mode: 'production',
        port: 5000
    }
}
module.exports = function(mode) {
    return config[mode || process.argv[2] || 'local'] || config.local;
}

我无法理解

return config[mode || process.argv[2] || 'local'] || config.local;

这一部分。 OR运算符的工作原理和方式

2 个答案:

答案 0 :(得分:0)

相当于:

Color selectedColor;

请注意,var r; if(mode && config[mode]) { r = config[mode]; } else if(process.argv[2] && config[process.argv[2]]) { r = config[process.argv[2]]; } else if(config['local']) { r = config['local']; } else { r = config.local; } return r; config['local']会返回相同的值,因此最后一部分(config.local)无用。

答案 1 :(得分:0)

return config[mode || process.argv[2] || 'local'] || config.local;

编辑:在上面的代码中,在尝试访问config [key]之前,将评估封闭方括号内的所有内容。