Assignmentdestructuringandoperatorprecedence
创始人
2024-09-20 18:00:17
0

Assignment destructuring是ES6引入的一种新特性,它允许我们通过一种语法形式从数组或对象中提取值并将其赋值给变量。

假设我们有一个数组,我们想将其第一项和第二项分别赋值给变量a和b:

const arr = [1, 2, 3, 4, 5];
const [a, b] = arr;
console.log(a); // 1
console.log(b); // 2

我们还可以使用默认值来避免undefined情况:

const [a = 0, b = 0, c = 0] = [1, 2];
console.log(a, b, c); // 1 2 0

同时,我们可以在函数参数中使用assignment destructuring:

function foo({ a, b }) {
  console.log(a, b);
}
foo({ a: 1, b: 2 }); // 1 2

在使用assignment destructuring时,需要注意运算符优先级。例如:

const obj = { a: 1, b: 2 };
const a = obj.a || 0; // 1
const b = obj.b || 0; // 0

这里的问题在于 || 运算符的优先级比 = 运算符的优先级高,所以变量a不会被赋值为0。解决方法是给整个表达式加上括号:

const obj = { a: 1, b: 2 };
const a = (obj.a || 0); // 1
const b = (obj.b || 0); // 2

相关内容

热门资讯

透视最新!aapoker能控制... 透视最新!aapoker能控制牌吗(透视)发牌逻辑(总是真的是有挂)1、每一步都需要思考,不同水平的...
透视脚本!哈糖大菠萝怎么挂,p... 透视脚本!哈糖大菠萝怎么挂,pokerworld软件(果然是有挂)1)哈糖大菠萝怎么挂辅助挂:进一步...
透视工具!aapoker辅助工... 透视工具!aapoker辅助工具安全吗(透视)辅助插件工具(一直真的有挂)1、用户打开应用后不用登录...
透视插件!xpoker辅助,佛... 透视插件!xpoker辅助,佛手在线有挂吗(一直是真的有挂)1、佛手在线有挂吗透视辅助简单,佛手在线...
透视模拟器!aapoker如何... 透视模拟器!aapoker如何设置胜率(透视)ai插件(其实是真的有挂);1、aapoker如何设置...
透视工具!cloudpoker... 透视工具!cloudpoker外挂,竞技联盟透视(一贯是真的有挂)1、竞技联盟透视机器人多个强度级别...
透视代打!aapoker安装包... 透视代打!aapoker安装包怎么使用(透视)免费透视脚本(确实是有挂);1)aapoker安装包怎...
透视中牌率!拱趴大菠萝作弊方法... 透视中牌率!拱趴大菠萝作弊方法,fishpoker透视(果然有挂);1、很好的工具软件,可以解锁游戏...
透视线上!智星菠萝辅助,拱趴大... 透视线上!智星菠萝辅助,拱趴大菠萝开挂方法(好像是真的有挂)1、每一步都需要思考,不同水平的挑战会更...
透视苹果版!aapoker透视... 透视苹果版!aapoker透视插件(透视)ai插件(好像真的是有挂)1、aapoker透视插件系统规...