【发布时间】:2020-11-17 04:15:01
【问题描述】:
在Python3.8中有一个叫做walrus的新操作符可以在一个条件中分配新的变量。 Node.Js中是否有类似的东西?
my_var = 5
if (result := my_var == 5):
print(result)
【问题讨论】:
标签: javascript python node.js
在Python3.8中有一个叫做walrus的新操作符可以在一个条件中分配新的变量。 Node.Js中是否有类似的东西?
my_var = 5
if (result := my_var == 5):
print(result)
【问题讨论】:
标签: javascript python node.js
分配和比较作为一个表达式。要使其在严格模式下工作并避免 linter 投诉,请在作业中添加括号。
const my_var = 5;
let result;
if ((result = my_var) === 5) {
console.log(result);
}
【讨论】:
(t['v'] ?? (t['v'] = [])).push(1);
不需要单独的运算符,赋值已经是Javascript中的表达式:
"use strict";
var my_var = 5;
var result;
if (result = my_var == 5){
console.log(result)
}
【讨论】:
strict mode进行调试。
你可以这样做:
const myNumber = 2;
let newNumber;
if (newNumber = myNumber === 2) {
console.log('this works!');
}
有点相同,它在同一行中有一个赋值和一个比较。 您显然可以用这个代替您的问题:
const my_var = 5;
let result;
if(result = my_var === 5) {
console.log(result);
}
如您所见,必须事先声明 let 。
【讨论】:
除非您不使用严格模式,否则这将无法工作。这是为了防止出错。
You can see this part of the document on MDN for more info
如果您不使用严格模式,您可以执行@juanpa.arrivillaga 提到的操作,我再次强烈建议您这样做。严格模式可以为您节省 100 倍的麻烦。
【讨论】: