我很有意思,为什么赋值运算符的简写形式只能以一种方式工作,这意味着附加变量的值。
实施例。 (在Javascript中):
x+=y x=x+y
x-=y x=x-y
x*=y x=x*y
x/=y x=x/y
x%=y x=x%y
我经常发现需要添加变量的情况:
实施例
x=y+x
假设x和y是字符串而你正在连接。
我希望语法允许类似:
x=+y
正如我用i ++或++那样增加数字。
是否有某种语言支持此功能?
答案 0 :(得分:1)
当然x = y + x与y + = x
相同我很困惑为什么你会学习一门新语言只是为了节省一个角色!
但是,我建议使用JQuery的.prepend()
方法
答案 1 :(得分:0)
有些语言允许定义新运算符和/或重载现有运算符(请参阅operator overloading)。
但是运营商及其使用应该是明确的。在您的示例中,x=+y
可以解释为x=y+x
(如您所示),也可以解释为x=(+x)
(+
unary operation,如-1
中的否定操作})。这种歧义可能会使语言难以使用,特别是当程序员想要使代码简洁明了的时候。这也是为什么有些语言没有像syntactic sugar这样的前/后递增/递减运算符(例如Python)的原因。