解构赋值

将一个多值变量(数组、对象)的值分解赋值给各个单值变量
常规用法:

  1. let name, sex, age;
  2. //数组
  3. let arr = ["张三", "male", 32];
  4. name = arr[0];
  5. sex = arr[1];
  6. age = arr[2];
  7. //对象
  8. let user = { name: "张三", sex: "male", age: 32 };
  9. name = user.name;
  10. sex = user.sex;
  11. age = user.age;

解构用法:

  1. //数组解构
  2. [name, sex, age] = ["张三", "male", 32];
  3. //对象解构
  4. ({ name, sex, age } = { name: "张三", sex: "male", age: 32 });

解构出现参数不足或过多时的解决方法,以数组为例(对象同样)

  1. //参数不足时,可以添加默认值
  2. [name, sex, age = 18] = ["张三", "male"];
  3. //参数过多时,可以使用 “...” 合并参数
  4. [name, sex, age, ...args] = ["张三", "male", 32, "admin@php.cn",

注意点:

  • 解构时左右两边的类型必须一致。
  • 对象解构时,因为左边不能直接使用{…},所以当没有 let 关键字时,可以用小括号将整条语句包住,让它成为一个表达式即可。

解构赋值在做为函数参数时的应用

数组或对象做为函数参数传递时的常规用法,以对象为例:

  1. //常规用法
  2. let obj = { name: "张三", sex: "male", age: 32 };
  3. let f = (o) => console.log(o.name, o.sex, o.age);
  4. f(obj);
  1. //解构赋值法
  2. let obj = { name: "张三", sex: "male", age: 32 };
  3. let f = ({ name, sex, age }) => console.log(name, sex, age);
  4. f(obj);

当参数不足或过多时,同样可以使用添加默认值和”…”合并参数来解决。

更多相关文章

  1. 1. 实例演示解构赋值,特别是函数参数中使用解构的方式2. dom元素
  2. 深入浅出理解PHP原理之变量赋值
  3. 原生Js增删改查及解构赋值
  4. js语法:解构赋值、dom元素的增删改、dataset,classList对象的使用
  5. ES6 解构赋值
  6. 解构赋值、DOM操作以及dataset和classList对象的使用
  7. PHP简易计算器&封装函数练习
  8. php变量命名规则及赋值
  9. 08-03作业

随机推荐

  1. 一文讲透微服务下如何保证事务的一致性
  2. 你的影响力,往往被忽视
  3. 队列(静态方式)
  4. 病毒与故障:漫谈计算机软件的故障应对
  5. 最全的DevOps工具集合,再也不怕选型了!
  6. 如何优雅地运用位运算实现产品需求
  7. 近几年,你也没干出满意的成绩吗?
  8. 如何优雅地停止一个线程?
  9. 再来一次高考
  10. 导致并发程序出问题的根本原因是什么?