将条件分配给常量的正确方法是什么?
问题描述:
我想给const指定一些东西,具体取决于设置了什么样的环境变量,但我不确定正确的方法。这是我有:将条件分配给常量的正确方法是什么?
const pool; //Technically this is incorrect right ?
if(process.env.PGUSER){
pool = new Pool;
}else if(process.env.DATABASE_URL){
pool = new Pool({
connectionString: process.env.DATABASE_URL
});
}
什么是最初声明池的正确方法?
答
您可以使用三元结构并分配想要的实例。
const pool = process.env.PGUSER
? new Pool
: new Pool({
connectionString: process.env.DATABASE_URL
});
您必须在声明它的同一个语句中指定'const'值,即'const pool =“value”''。但你可以这样做'const pool = process.env.PGUSER?新的池:process.env.DATABASE_URL? new Pool({connectionString:process.env.DATABASE_URL}):null;' – Krusader
因为在这个代码中'pool'可能永远不会被分配任何东西,它根本就不是'const'。 – deceze
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const - 你必须立即分配,但它可以是一个表达式(包括函数调用)。 – tevemadar