我在类似下面的return语句中使用了null coalescing operator
return Variable??"undefined";
但是下面的代码
return Variable??Variable="undefined";
我不明白它是如何工作的,因为运算符的第二个参数是赋值语句,我想知道return是如何工作的。
有人可以帮助我理解
答案 0 :(得分:4)
来自docs:
赋值运算符(=)存储其右侧操作数的值 在其左手表示的存储位置,属性或索引器中 操作数,并返回值作为结果
所以赋值的返回值就是被赋值。 Variable = "undefined"
为此返回"undefined"
。然后可以通过您的方法将其返回。另一方面,??
只是简单的if语句的简写。
因此,以下内容与您的代码非常相似:
if(Variable != null)
return Variable
Variable = "undefined";
return Variable;
答案 1 :(得分:3)
在C#中,assign操作还返回已分配的值。 例如
src
是有效代码。首先从右到左评估Assignment get。在您的情况下,分配>空合并运算符。 您可以将代码重写为
src