Comma operator 逗号操作符的一些总结

93 阅读1分钟
  • Comma operator 逗号操作符的一些常规总结

    • 定义: 逗号(,)运算符对它的每个操作数从左到右求值,并返回最后一个操作数的值。这让你可以创建一个复合表达式,其中多个表达式被评估,复合表达式的最终值是其成员表达式中最右边的值

    • 语法:expr1, expr2, expr3/* , … */

  • 逗号操作符常见的应用场景

    • 在一条语句中同时声明多个变量是逗号操作符最常用的场景
       let num = (5, 1, 4, 8, 0); // num的值为0 【 打印台执行的话,输出的是 0 】
    
    • for 循环提供多个参数
        for (let i = 0, j = 9; i <= 9; i++, j--) {
         console.log(`a[${i}][${j}] = ${a[i][j]}`);
        }
    
    • 其他一些场景
        // 从左向右输出最后一个
        x = (2, 3);
        console.log(x); // 3
    
        // 从左向右输出最后一个 【 间接eval 】< https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval#direct_and_indirect_eval >
        (0, eval)("1 + 2") // 计算后为 eval("1 + 2")
        (1, eval)("1 + 2") // 计算后为 eval("1 + 2")
        (2, eval)("1 + 2") // 计算后为 eval("1 + 2")
    
        // 从左向右输出最后一个
        let a, b, c;
        a = b = 3, c = 4; // 值 4 返回到控制台
    
        // 从左向右输出最后一个
        x = (y = 5, z = 6); // 值 6 返回到控制台
    
        // 从左向右输出最后一个
        function myFunc() {
            let x = 0;
            return (x += 1, x); // 与 return ++x; 等价
        }