赋值返回旧值而不是新值的原因是因为在赋值操作中,首先会将等号右边的表达式计算出结果,然后将该结果赋给等号左边的变量。而赋值操作的返回值是等号右边表达式的值,也就是旧值。
这种设计是为了方便链式赋值操作和表达式的连续计算。如果赋值操作返回的是新值,那么在链式赋值操作中,每次赋值都会返回新值,导致后续的赋值操作无法继续进行。而返回旧值则可以保证链式赋值操作的连续进行。
另外,赋值操作返回旧值也符合一些编程语言的惯例和习惯。例如,在C语言中,赋值操作的返回值就是被赋值的变量的值。这样的设计可以方便程序员在需要使用赋值操作的同时获取变量的旧值。
总结起来,赋值返回旧值而不是新值的原因是为了方便链式赋值操作和表达式的连续计算,并符合一些编程语言的惯例和习惯。
领取专属 10元无门槛券
手把手带您无忧上云