Javascript 解构赋值详情


Posted in Javascript onNovember 17, 2021

 

1、数组解构

let [a, b, c] = [1,2,3]
console.log(a, b, c) // 1 2 3

除了数组,任何可迭代的对象都支持被解构, 例如字符串

let [first, second] = "he"

console.log(first, second) // h e

2、对象解构

赋值右侧是对象,左侧是包含在花括号内逗号隔开的变量名

let {a, b, c} = {a:1, b:2, c:3}
console.log(a,b,c) // 1 2 3

左侧的变量名需要和对象中的属性名相同,如果对应不上的话,左侧的变量名将被赋值为undefined。例如:

let {a,b, d} = {a:1, b:2, c:3}
console.log(a,b,d) // 1 2 undefined

如果变量名与属性名不一样,可以用冒号分隔符将属性名赋值给变量名

例如:

let {a,b, c:d} = {a:1, b:2, c:3}
console.log(a,b,d) // 1 2 3

3、不完全解构

解构赋值左侧变量个数可以不等于右侧数组中元素的个数

(1)左侧多余的变量会被设置为undefined,

let [a, b, c] = [1, 2]

console.log(a, b, c) // 1 2 undefined

(2)右侧多余的值将被直接忽略

let [a, b, c] = [1, 2, 3, 4]

console.log(a, b, c)  // 1 2 3

(3)左侧可以用逗号跳过某些值

let [a, , c] = [1, 2, 3, 4]

console.log(a, c)  // 1 3

(4)右侧多余的值可以通过...收集到一个变量中

let [a, b, ...c] = [1, 2, 3, 4]

console.log(a, b, c)  // 1 2 [3, 4]

4、用解构赋值实现变量交换

let a = 1, b=2;
[a, b] = [b, a]
console.log(a) //2
console.log(b) //1

到此这篇关于Javascript 解构赋值详情的文章就介绍到这了,更多相关Javascript 解构赋值内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
js导出table数据到excel即导出为EXCEL文档的方法
Oct 10 Javascript
js 日期比较相关天数代码
Apr 02 Javascript
原生JavaScript实现异步多文件上传
Dec 02 Javascript
bootstrap3中container与container_fluid外层容器的区别讲解
Dec 04 Javascript
微信小程序ajax实现请求服务器数据及模版遍历数据功能示例
Dec 15 Javascript
解决vue 引入子组件报错的问题
Sep 06 Javascript
vue axios数据请求及vue中使用axios的方法
Sep 10 Javascript
JavaScript 2018 中即将迎来的新功能
Sep 21 Javascript
详解微信小程序-canvas绘制文字实现自动换行
Apr 26 Javascript
jQuery实现input输入框获取焦点与失去焦点时提示的消失与显示功能示例
May 27 jQuery
vue.js+element 默认提示中英文操作
Nov 11 Javascript
uniapp引入支付宝原生扫码插件步骤详解
Jul 23 Javascript
javascript Number 与 Math对象的介绍
Nov 17 #Javascript
javascript条件式访问属性和箭头函数介绍
Nov 17 #Javascript
JavaScript 对象创建的3种方法
Nov 17 #Javascript
JavaScript 中for/of,for/in 的详细介绍
Nov 17 #Javascript
JavaScript高级程序设计之基本引用类型
Nov 17 #Javascript
JavaScript高级程序设计之变量与作用域
javascript对象3个属性特征
You might like
PHP 网络开发详解之远程文件包含漏洞
2010/04/25 PHP
php SQL Injection with MySQL
2011/02/27 PHP
用php+ajax新建流程(请假、进货、出货等)
2017/06/11 PHP
PHP获取数据库表中的数据插入新的表再原删除数据方法
2018/10/12 PHP
用php定义一个数组最简单的方法
2019/10/04 PHP
PHP中echo与print区别点整理
2021/03/09 PHP
jquery 简单导航实现代码
2009/09/11 Javascript
EXTJS FORM HIDDEN TEXTFIELD 赋值 使用value不好用的问题
2011/04/16 Javascript
jquery显示loading图片直到网页加载完成的方法
2015/06/25 Javascript
js实现无缝滚动特效
2015/12/20 Javascript
Bootstrap Table使用方法详解
2016/08/01 Javascript
基于AngularJS前端云组件最佳实践
2016/10/20 Javascript
老生常谈Bootstrap媒体对象
2017/07/06 Javascript
详解微信小程序的 request 封装示例
2018/08/21 Javascript
详解小程序BackgroundAudioManager踩坑之旅
2019/12/08 Javascript
js实现全选和全不选功能
2020/07/28 Javascript
vue使用echarts实现水平柱形图实例
2020/09/09 Javascript
JavaScript实现串行请求的示例代码
2020/09/14 Javascript
微信小程序基于高德地图API实现天气组件(动态效果)
2020/10/22 Javascript
Python中元组,列表,字典的区别
2017/05/21 Python
对pandas中to_dict的用法详解
2018/06/05 Python
Pycharm中Python环境配置常见问题解析
2020/01/16 Python
python集成开发环境配置(pycharm)
2020/02/14 Python
10个python3常用排序算法详细说明与实例(快速排序,冒泡排序,桶排序,基数排序,堆排序,希尔排序,归并排序,计数排序)
2020/03/17 Python
浅谈tensorflow使用张量时的一些注意点tf.concat,tf.reshape,tf.stack
2020/06/23 Python
英国复古和经典球衣网站:Vintage Football Shirts
2018/10/05 全球购物
将n个数按输入顺序的逆序排列,用函数实现
2012/11/14 面试题
Java程序员面试题
2016/09/27 面试题
《新型玻璃》教学反思
2014/04/13 职场文书
大学生就业求职信
2014/06/12 职场文书
治庸问责心得体会
2014/09/12 职场文书
民主评议政风行风整改方案
2014/09/17 职场文书
2014年政协委员工作总结
2014/12/01 职场文书
六年级小学生评语
2014/12/26 职场文书
幼儿园园长个人总结
2015/03/02 职场文书
带你了解CSS基础知识,样式
2021/07/21 HTML / CSS