解构destruct

概念:从一个大的对象或数组中仅提取出个别成员单独使用

  • 数组解构
  • 对象解构
  • 参数解构
  1. 数组解构

(1)从数组中提取个别元素值单独使用

var [变量1,变量2,...] = 数组变量1=数组[0]
变量2=数组[1]

举例:

var arr=[2021,3,4];
var [y,m,d]=arr;
console.log(`${y}年${m}月${d}日`);


(2)不声明第三个变量,交换两个变量的值

var a = 1,b = 2;
[a,b] = [b,a]
console.log(a,b);结果:2 1
  1. 对象解构
    从一个大的对象中提取出个别属性值单独使用
var {属性名1:值1,属性名2:值2,...} = 对象如果解构时变量名和属性名相同!则只写一个名字即可!一个名字两用
var {属性名1,属性名2,...} = 对象

举例:

var user={uname:"",韩className:"7年级8班",login(){console.log("ok");}
}
var {uname,className,login} = user;
console.log(`${uname}来自${className}`);
login();

  1. 参数解构
    若多个实参值都不确定有没有,而且要求每个实参值必须传给对应的形参变量
function 函数名({属性名1:形参1,属性名2:形参2,... : ...
}){... : ...}//调用函数时,所有实参值也必须放在一个和形参列表相同结构的对象中
函数名({属性名1:实参1,属性名2:实参2, ... : ... });//结果: 形参1=实参值1, 形参2=实参值2, ...

举例:

function order({year="2021",month="3",day="5"
}){console.log(`${year}年${month}月${day}日`);
}order({year:"",month:"",day:""
});


注意:当调用函数的结构和形参的结构不同时,解构失败,自动使用默认值

解构destruct相关推荐

  1. JS 高级(七)ES6解构、class、promise

    目录 ES6: (ECMAScript第六个版本) 1. 解构(destruct) 2. class 3. Promise ES6: (ECMAScript第六个版本) 1. 解构(destruct) ...

  2. 如何充分利用JavaScript(ES6)中的解构功能

    by Joanna Gaudyn 乔安娜·高登(Joanna Gaudyn) Destructuring was a new addition to ES6. It took inspiration ...

  3. ES6语法~解构赋值、箭头函数、class类继承及属性方法、map、set、symbol、rest、new.target、 Object.entries......

    2015年6月17日 ECMAScript 6发布正式版本 前面介绍基本语法,  后面为class用法及属性方法.set.symbol.rest等语法. 一.基本语法:  1.         定义变 ...

  4. (6)解构赋值的用途

    解构赋值的用途 1.交换变量的值 var a = 100; var b = 200; var t; t = a; a = b; b = t; //解构赋值的写法完成[ES6交换变量的值] var x ...

  5. 【ES6】变量的解构赋值

    [ES6]变量的解构赋值 一.什么叫解构赋值? 二.解构赋值有哪些分类?写法? 1)对数组的解构赋值 2)对对象的解构赋值 3)对字符串的解构赋值 4)对数值和布尔值的解构赋值 5)对函数参数的解构赋 ...

  6. 用深度学习模型,解构并重构人类思维

    来源:人机与认知实验室 概要:人类的知识,往往由事实 fact 和规则 rule 组成,而且人类习惯于用简练的词汇,来表达事实和规则.所以,维特根斯坦认为,人类思维受制于语言结构,语言的界限决定思维的 ...

  7. 业务代码解构利器--SWAK

    简介 业务的不断发展.商品类型的不断增多.不断添加的业务需求使得闲鱼的代码出现"bad smell"--平台代码和业务代码耦合严重难以分离:业务和业务之间代码交织缺少拆解.这也是行 ...

  8. ECMAScript6变量的解构赋值

    ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring) ###数组的解构赋值 //ES5 //var a = 1; //var b = 2; //va ...

  9. ES6数组的解构赋值( 中)

    数组的解构赋值的用法有以下几情况要注意: 1.结构赋值可以嵌套的 数组的解构赋值的用法有以下几情况要注意:1.结构赋值可以嵌套的 var [ a,b,[ c1,c2 ] ] = [ 1,2,[ 3.1 ...

最新文章

  1. mysqlsla slow-query常用用法
  2. 太简单!日常小动作让你摆脱程序员职业病
  3. 《工业控制网络安全技术与实践》一一第3章 工业控制网络安全威胁
  4. loewe测试软件,实测Loewe三角包 最轻的小包最贴心的设计
  5. 小程序 | 打开CMS时出现了404报错?
  6. 微信投票时间是在服务器上的吗,如何微信设置投票,微信投票活动时间设置小技巧...
  7. 于是,我们给前端分享会定义了一个未定义的名字
  8. IIS6上配置CGI有两个要点(转)
  9. 面试题:计算 n!阶乘的结果的末尾有几个0
  10. uva 540 (Team Queue UVA - 540)
  11. 今日看了一下广告收入,心里拔凉拔凉的。
  12. 有趣的逻辑较量——《啊哈C语言》更新开始
  13. emmagee测试汇总
  14. 李春葆《数据结构教程》课后习题和实验代码
  15. 【MC-CNN论文翻译】Computing the Stereo Matching Cost with a Convolutional Neural Network
  16. python统计单词出现次数最多的5个单词_【Python】统计文本中单词的出现次数前十的单词...
  17. 【电气专业知识问答】问:什么叫组合电器?什么是GIS?
  18. win10 apex安装
  19. 超详细的flex弹性布局+实例分析
  20. Neo4j图数据库的Cypher 语句总结

热门文章

  1. Java中的Arrays工具类-Arrays.toString();Arrays.copyOf();Arrays.copyOfRange()
  2. Android实现截屏的方法
  3. ettercap局域网DNS欺骗实现过程
  4. InDesign Quick Start InDesign快速入门 Lynda课程中文字幕
  5. 汉明码生成过程图文详解
  6. Python大数据培训班特色优势及工作方向
  7. Numerical Optimization和Convex optimization 两本书的选择?
  8. 如何提高CSDN博客排名
  9. 【ALSA】关于alsa的总结
  10. 二维数组vector 限定大小