JS字符串拼接三元运算符遇到的问题

JS 字符串拼接三元运算符遇到的问题

之前写代码的时候遇到的问题,当时没有时间做记录,现在记录一下

我在 axios 拦截器中写了统一弹出到登录页的方法时候,公共 url 部分是存在登录信息里由服务端返回的,

所以可能会是这样

1
hostUrl + "/xxx.html";

后面 html 的部分如果还需要判断的话,当时使用的是三元运算符

1
hostUrl + temp === demo ? "/xxx.html" : "/yyy.html";

那么问题就出现了,这样拼接,返回的只是三元运算符后面的东西,前面的值变量不见了

网上搜也没有搜到相关资料

思考了半天,可能用我的理解就是后面的三目运算符先执行,然后里面执行结果有 return,所以就走到拼接字符串那一步

最后解决问题就是拆开,后面的三元运算符赋值给一个变量,然后再拼接了

1
2
const path = temp === demo ? "/xxx.html" : "/yyy.html";
hostUrl + path;
如果内容对您有帮助,不妨请作者喝杯咖啡