为什么设置undefined而不是||之后的值?

时间:2017-04-20 02:46:37

标签: javascript

我有以下代码和日志:

console.log('PROCESS:', process.env.BACKEND_URL)
api.serverUrl = process.env.BACKEND_URL || url[env].backend
console.log('URL:', url[env].backend)
console.log('API:', api.serverUrl)

process.env.BACKEND_URLundefined,因此我expected api.serverUrl设置为url[env].backend

然而,日志显示了这一点:

PROCESS: undefined
URL: https://vrbackendus.avosapps.us/api
API: undefined

这是为什么?为什么不将expected api.serverUrl设置为url[env].backend

1 个答案:

答案 0 :(得分:1)

代码运行正常。问题必须与变量中的值有关。



/*Values i had given to test*/
var process ={};
process.env={};
var api={};
process.env.BACKEND_URL = "undefined";
var url = [];
var env = "test";
url[env] ={};
url[env].backend = "test";
/*****/

console.log('PROCESS:', process.env.BACKEND_URL)
api.serverUrl = (process.env.BACKEND_URL === "undefined" ? url[env].backend : process.env.BACKEND_URL); 
console.log('URL:', url[env].backend)
console.log('API:', api.serverUrl)




更新了代码以响应您的评论,它是"undefined"而不是undefined