当前位置: 首页 > 面试题库 >

逗号运算符什么时候有用?

齐建白
2023-03-14
问题内容

我看了这个关于表达式(以下简称“逗号操作”的问题,)和MDN文档有关,但我想不出一个场景的地方是有用的。

那么,逗号运算符什么时候有用?


问题答案:

以下内容可能不是很有用,因为您不是自己编写的,但是压缩程序可以使用逗号运算符来缩小代码。例如:

if(x){foo();return bar()}else{return 1}

会成为:

return x?(foo(),bar()):1

? :现在可以使用该运算符,因为逗号运算符(在一定程度上)允许将两个语句写为一个语句。

有用的,因为它允许一些整齐压缩(39 -这里> 24字节)。

我想强调的是,在逗号var a, b 不是 逗号运算符,因为它没有一个中存在 的表达var 语句中
的逗号具有特殊含义。a, b在表达式中将引用这两个变量并求和b,而不是var a, b



 类似资料:
  • C++ 运算符 使用逗号运算符的为了把几个表达式串在一起。整个逗号表达式的值是以逗号分隔的列表中的最后一个表达式的值。从本质上讲,逗号的作用是导致一系列运算被顺序执行。 最右边的那个表达式的值将作为整个逗号表达式的值,其他表达式的值会被丢弃。例如: var = (count=19, incr=10, count+1); 在这里,首先把 count 赋值为 19,把 incr 赋值为 10,然后

  • 问题内容: 何时使用和何时使用运算符? Java提供了两个选项来检查分配兼容性。什么时候使用? 问题答案: 我认为官方文档为您提供了答案(尽管以一种非常具体的方式): 此方法与Java语言instanceof运算符动态等效。 我认为这主要是指在运行时处理类型反射的代码中使用。特别是,我想说它的存在是为了处理您可能不事先知道要检查其成员资格的类的类型的情况(尽管这些情况可能很少)。 例如,您可以使用

  • 问题内容: 我从jls找到了报价: 相等运算符可用于比较两个可转换(第5.1.8节)为数字类型的操作数,或两个boolean或Boolean类型的操作数,或 两个分别为引用类型或null类型的操作数 。所有其他情况都会导致编译时错误。 但是这段代码 每个操作数都是参考! 说这是不兼容的类型。 jls在哪里说这些类型应该兼容? 问题答案: 在15.21.3节(参考相等运算符==和!=)中: 如果无法

  • 我找到了JLS引文: 表示它是不兼容的类型。 在jls中哪些地方说这些类型应该兼容?

  • 问题内容: 我注意到我可以使用运算符比较所有本机数据类型(整数,字符串,布尔值,浮点数等),还可以比较包含本机数据类型的列表,元组,集合和字典。在这些情况下,操作员将检查两个对象是否相等。但是在某些其他情况下(试图比较我创建的类的实例),该运算符只是检查两个变量是否引用同一对象(因此在这些情况下,该运算符等效于该运算符) 我的问题是:什么时候操作员不只是比较身份? 编辑:我正在使用Python 3

  • 逗号运算符的目的是将几个表达式串起来。 以逗号分隔的表达式列表的值是最右侧表达式的值。 本质上,逗号的效果是导致执行一系列操作。 其他表达式的值将被丢弃。 这意味着右侧的表达式将成为整个逗号分隔表达式的值。 例如 - var = (count = 19, incr = 10, count+1); 这里首先指定计数值19,指定incr值10,然后将count加1,最后指定var最右边表达式的值,c