1. 数组,对象,传参的解构

解构赋值语法是一种 Javascript 表达式。通过解构赋值, 可以将属性/值从对象/数组中取出,赋值给其他变量。

  • 数组的解构
  1. // 完全解构
  2. let [a,b,c] = [1,2,3];
  3. console.log('a:%d,b:%d,c:%d',a,b,c);
  4. // 部分解构
  5. let [d,e] = [4,5,6];
  6. console.log('d:%d,e:%d',d,e);
  7. // 支持默认值与归并
  8. let [f,g,h=10] = [7,8]
  9. console.log('f:%d,g:%d,h:%d',f,g,h);
  10. let[i,j,...k] = [1,2,3,4,5,6,7,8,9]
  11. console.log('i:%d,j:%d,k:%o',i,j,k);
  • 对象的解构
    1. let obj = {
    2. name:'张三',
    3. gender:'男',
    4. email:'tp@php.cn'
    5. }
    6. let {name,gender,email}= obj;
    7. console.log('name:%s,gender:%s,email:%s',name,gender,email);
    8. // 如果对象没有声明,需要使用()转为表达式
    9. ({name2,gender2,email2} = {name2:'李四',gender2:'女',email2:'admin@qq.com'});
    10. console.log('name2:%s,gender2:%s,email2:%s',name2,gender2,email2);

    变量名要与对象属性名相同
    属性名与变量名不相同时无法获得赋值

    1. ({name2,gender2,email2} = {name:'李四',gender:'女',email:'admin@qq.com'});
    2. console.log('name2:%s,gender2:%s,email2:%s',name2,gender2,email2);

    一个属性从一个对象解构,并分配给一个不同名称的变量

    1. ({name:name2,gender:gender2,email:email2} = {name:'李四',gender:'女',email:'admin@qq.com'});
    2. console.log('name2:%s,gender2:%s,email2:%s',name2,gender2,email2);
  • 传参的解构
  1. function User({name,email}) {
  2. console.log('name:%s,email:%s', name,email);
  3. }
  4. User({name:'王五',email:'admin@php.cn'});

2. 访问器属性的get,set操作

通过set,get修饰,把访问器的方法变成属性调用
访问器

  1. let user = {
  2. data:{name},
  3. set name(v) {
  4. this.data.name = v;
  5. },
  6. get name() {
  7. return this.data.name;
  8. }
  9. }
  10. console.log(user.name);
  11. user.name = '张三';
  12. console.log(user.name);

更多相关文章

  1. js的解构
  2. shell变量的赋值
  3. python基本语法二
  4. 【面试】两个变量进行交替的N种方法
  5. “蚂蚁呀嘿” 刷屏的背后:算法工程师带你理性解构神曲
  6. 9.6 C++指向结构体变量的指针
  7. .net项目开发经验
  8. 2021-03-06:go中,公共变量是协程安全吗?赋值操作是原子的吗?为什么?
  9. 解构赋值与流程控制

随机推荐

  1. android 中文语音
  2. 8个常用的Android开发工具
  3. Android NDK OverView翻译
  4. Android中shape的简单介绍
  5. Android使用MediaRecorder实现录音功能
  6. Android training–android studio
  7. Android应用程序键盘(Keyboard)消息处理机
  8. bindService
  9. Android入门教程(四)之------Android工程
  10. Android HAL模块实现