【JS解构】数组解构、对象解构

解构赋值语法是一种 Javascript 表达式


解构数组:

// 解构数组:
// 1.如果当前对应下标没值则是undefined
// 2.如果解构时设置了默认值,例如 c=55和d=66, c对应下标有值时则使用该值,d对应的没值时使用默认值66; 默认值可以是表达式
// 3.每个解构属性都有一个默认值,当没有值时是undefined
let [a, b, c = 55, d = 66-56, e] = [1, 3, null];
console.log(a, b, c, d, e);

// 4. ...xx结束解构模式,该语法只能放在末尾!
let [a2, ...x2] = [1, 3, 4, 5, 6];
console.log(a2, x2);// 1, [3,4,5,6]

// 5. 交换变量
let a3 = 1;
let b3 = 7;
[a3, b3] = [b3, a3];
console.log(a3, b3);

// 6.忽略某些返回值
let [a4, , c4] = [1, 2, 3];
console.log(a4, c4); // 1, 3

解构对象:

// 解构对象:
// 1. 基本赋值 let {id} = user
// 2. 赋值给新的变量名 let {tName: newAttr} = user
// 3. 提供默认值 let {sb = 'sb'} = user; 可以组合使用> tName: newAttr='sb';
// 4. 如果没该属性,则默认值为 undefined
// 5. 解构基本类型:对象解构几乎等同于属性访问。const { a, toFixed } = 1; 等同 (1).a 和 (1).toFixed
// 6. 解构对象时会查找原型链 >> 解构对象时,该对象没该属性则会查找原型链
const user = {
  id: 42,
  isVerified: true,
  tName: "替换属性名",
};
user.__proto__.lian = "芙莉莲";
const {
  id,
  isVerified,
  moren = 6,
  no,
  tName: newAttr = "sb",
  lian,
} = user;
console.log(id, isVerified, moren, no, newAttr, lian);

以上就是个人认为常用的和必须要理解的内容。更多的解构语法有兴趣自己看文档了;

而且解构语法直接的特性基本都是能一起使用的!思路不要限制死了!
例如 xx: newXX = '默认值'

 

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值