gpt4 book ai didi

javascript - 这个语法 "(x, y)"的名称是什么?

转载 作者:数据小太阳 更新时间:2023-10-29 05:12:40 25 4
gpt4 key购买 nike

我最近读了一段 javascript 代码,发现了这一行:

var myVar = (12,5); // myVar==5 now

奇怪语法是什么:(x, y)

最佳答案

Comma Operator: ,

The comma operator , has left-to-right associativity. Two expressions separated by a comma are evaluated left to right. The left operand is always evaluated, and all side effects are completed before the right operand is evaluated.

表达式:

var myVar = (12, 5);

相当于:

var myVar = 5;

请注意,在上面的表达式中,括号会覆盖 , 的优先级高于 =,否则没有括号的表达式如 var myVar = 12, 5 是相当于 var myVar = 12
编辑:我猜您找到这个表达式可能有以下原因:

  1. 当第一个表达式有一些副作用时:

     var myVar = ( expression1, expression2);

    expression1 可能有一些副作用,在将 expression2 的结果分配给 myVar 之前可能需要这些副作用,例如var mayVar = (++i, i + j); 在这个表达式中,++i 之后的增量值将加上 j 和结果将分配给 mayVar

  2. 错误修复或错误:
    可能是一些错误修复/或在测试期间而不是分配 x 开发人员想要分配 y忘记删除 ( ) 在公共(public)依赖之前。

    var myVar = (x, y);

    我还发现了一个打字错误,提问者忘记写 function same 而不是写

    var myVar = fun(x, y);

    他的错字:

    var myVar = (x, y);

    在链接question .

这不是 JavaScript 链接,而是非常有趣的 C++ 链接,其中讨论了合法/或可能使用逗号运算符 What is the proper use of the comma operator?

关于javascript - 这个语法 "(x, y)"的名称是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21813445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com