关于es6的一个问题

在看阮一峰老师的es6入门的里面的解构时

 function f() {
 console.log('aaa');
}
            
let [x = f()] = [1];
/*等同于下面这段代码*/
let x;
 if ([1][0] === undefined) {
 x = f();
} else {
x = [1][0];
 }
 不太懂这段话该怎么理解,貌似[1][0]是一个number类型的值
阅读 2k
2 个回答

"[1]"数组 仅含1

"1 "取数组第1位

if (1 === undefined) 这句的意思是如果let [x = f()] = [1]中数组【1】的第一个也就是【1】【0】为undefined时,x=fn();
不是undefined的话就x=【1】【0】;
不知道这样理解正不正确。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题