百科问答小站 logo
百科问答小站 font logo



如何看待一类计算机语言中的运算符“=赋值 ==等于 ===严格等于”的设计与a aa aaa这样的变量命名? 第1页

  

user avatar   Ivony 网友的相关建议: 
      

提问者把好多个问题被混为一谈了。

首先得要承认赋值运算符的设计是有问题的。

事实上这个问题已经在C#中被很大程度上修复了:

       if ( a = b )     

上面的写法在C#里面大部分情况下是编译错误,只有当a是bool类型时,才可以通过编译。


当然我觉得更彻底更激进的做法应该是表达式严格无副作用的做法,换言之一个运算符如果可以作为表达式的一部分,就必须无副作用,否则只能用单独的语句来描述。这一点也已经有语言尝试,赋值只能是语句而不能是表达式。



===运算符很罕见,最常见的引入这个运算符的语言是JavaScript,对于这个坑明显多的不正常的语言不做评价。


但 以上所有这些问题,和重复都没有什么必然的联系。同样是重复设计,&和&&,|和||,:和::,<和<<,以及>和>>,这些都没有造成什么困扰和问题,所以问题和运算符重复、类似没有什么关系。




  

相关话题

  你是如何完成一份优秀的校园海报的? 
  为什么最近十年发明的编程语言都喜欢先变量名后类型声明这种变量声明方式? 
  Google 新推出的色彩空间 HCT 是什么? 
  iOS 设计的神细节有哪些? 
  请问能否用分子筛对付新冠病毒?把分子筛搞成细微粒状,再打入人体内,让新冠病毒吸附新冠类的新冠分子筛? 
  做机械设计4年快5年了,工资还只有5-6k,技术自我感觉一般水平,从哪方面提升自己,可以升值加薪? 
  国内外有哪些著名的玩具设计师,他们的作品都是怎样的? 
  有哪些「看似惊艳,实则很 LOW」的产品? 
  如何看待中国建筑师在巴黎圣母院重建设计竞赛中获得网民最高投票? 
  有哪些好看的日常用的杯子? 

前一个讨论
如何保护自己资产不贬值?
下一个讨论
反垄断政策的目标是什么?





© 2025-04-16 - tinynew.org. All Rights Reserved.
© 2025-04-16 - tinynew.org. 保留所有权利