Chr*_*hew 2 javascript ternary-operator
我想设置一个参数来知道在调用某个端口时要使用什么 uri。
这是我的代码:
var portConfig = '443';
(portConfig === '443') ? uri = 'wss://' : uri = 'http://';
console.log(uri);
var Ip = uri + "hereis.myurl.com";
var port = portConfig;
console.log(Ip);
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
期望赋值或函数调用,而是看到了一个表达式
我什至将 uri 设置在函数 testA testB 内,但发生了同样的错误。我已经阅读了这个问题,它似乎是一个错误的错误。我应该改用 if 语句 - 哪个工作正常?
每个文档的正确方法是:
uri = (portConfig === '443') ? 'wss://' : 'http://';
Run Code Online (Sandbox Code Playgroud)
它确实期望赋值,而不是表达式。
事实上,你使用的方式可以被浏览器吃掉和解析而不会出错,因为赋值会返回赋值的值。但这不是推荐的方式,因为三元运算符旨在返回值(并且它们总是这样做,即使您之后不使用该值),与if()条件不同,并且像您使用的那样使用它被认为是不明智的if().
| 归档时间: |
|
| 查看次数: |
2736 次 |
| 最近记录: |