Javascript 圆括号中的变量值表示什么?

Javascript 圆括号中的变量值表示什么?,javascript,Javascript,js中圆括号中的变量值表示什么? 比如说, let a = (1,2,3); 这意味着什么?为什么console.log(a)输出为3 圆括号中的逗号运算符在变量初始化中有什么用途?分组时需要括号。在let语句中,逗号通常用于分隔正在声明的多个变量,例如 let a = 1, b = 2, c; 它是 let a = 1; let b = 2; let c; 如果你写信 let a = 1, 2, 3; 您将得到一个语法错误,因为在逗号之后,它需要另一个变量声明;这相当于: let a

js中圆括号中的变量值表示什么? 比如说,

let a = (1,2,3);
这意味着什么?为什么console.log(a)输出为3


圆括号中的逗号运算符在变量初始化中有什么用途?

分组时需要括号。在
let
语句中,逗号通常用于分隔正在声明的多个变量,例如

let a = 1, b = 2, c;
它是

let a = 1;
let b = 2;
let c;
如果你写信

let a = 1, 2, 3;
您将得到一个语法错误,因为在逗号之后,它需要另一个变量声明;这相当于:

let a = 1;
let 2;
let 3;
let a = 3;
第二个和第三个声明显然是错误的,因为
2
3
不是变量名

括号表示整个表达式
1,2,3
用于初始化一个变量

表达式
1,2,3
使用,它执行其每个子表达式并返回最后一个作为其值。当子表达式都是常量时,它是非常无用的,所以我假设您的代码只是一个简化的示例。因为它的书写方式实际上相当于:

let a = 1;
let 2;
let 3;
let a = 3;

分组时需要括号。在
let
语句中,逗号通常用于分隔正在声明的多个变量,例如

let a = 1, b = 2, c;
它是

let a = 1;
let b = 2;
let c;
如果你写信

let a = 1, 2, 3;
您将得到一个语法错误,因为在逗号之后,它需要另一个变量声明;这相当于:

let a = 1;
let 2;
let 3;
let a = 3;
第二个和第三个声明显然是错误的,因为
2
3
不是变量名

括号表示整个表达式
1,2,3
用于初始化一个变量

表达式
1,2,3
使用,它执行其每个子表达式并返回最后一个作为其值。当子表达式都是常量时,它是非常无用的,所以我假设您的代码只是一个简化的示例。因为它的书写方式实际上相当于:

let a = 1;
let 2;
let 3;
let a = 3;

这不是特定于变量声明的事情。您可以在JS代码中的任何地方编写
(1,2,3)
,它的计算结果总是3。问题是,JavaScript(像许多其他编程语言一样,例如C)有逗号运算符,它只返回最后一个元素。表达式
(1,2,3)
基本上与JavaScript中的
(1+2+3)
类似,只是应用了逗号运算符而不是加法。

这不是特定于变量声明的事情。您可以在JS代码中的任何地方编写
(1,2,3)
,它的计算结果总是3。问题是,JavaScript(像许多其他编程语言一样,例如C)有逗号运算符,它只返回最后一个元素。表达式
(1,2,3)
基本上与JavaScript中的
(1+2+3)
类似,只是应用了逗号运算符而不是加法。

您遇到的是

引用文件

逗号运算符计算每个操作数(从左到右)并返回最后一个操作数的值


因此,在您的情况下,
1
2
3
将被计算,并返回
3
,从而分配给变量
a

引用文件

逗号运算符计算每个操作数(从左到右)并返回最后一个操作数的值


因此,在您的情况下,
1
2
3
将被计算,并返回
3
,从而分配给变量
a

,称之为逗号运算符:

在JavaScript中使用它非常方便,因为它允许您将多个语句作为单个箭头函数的值运行

下面是一个用一行代码生成的10x10单位矩阵的示例。最后一个逗号值作为值返回

const m=new Array(9).fill('000000000').map((v,i)=>(v=[…v],v[i]='1',v.join());

控制台日志(m)调用逗号运算符:

在JavaScript中使用它非常方便,因为它允许您将多个语句作为单个箭头函数的值运行

下面是一个用一行代码生成的10x10单位矩阵的示例。最后一个逗号值作为值返回

const m=new Array(9).fill('000000000').map((v,i)=>(v=[…v],v[i]='1',v.join());

控制台日志(m)