ES6——解构赋值
来源:互联网 发布:java认证培训 编辑:程序博客网 时间:2024/06/04 23:22
数组类型
左右各一个数组
let a,b;[a,b] = [1,2];console.log(a,b); // 1, 2
数值赋值给变量(rest)
let a,b,rest;[a,b,...rest] = [1,2,3,4,5,6];console.log(a,b,rest); // 1, 2, [3,4,5,6]
数组嵌套
var [a,[b,c]] = [1,[2,3]];console.log(a,b,c); // 1, 2, 3
指定默认值
var [a,b,c,d = 4] = [1,2,3];console.log(a,b,c,d); // 1, 2, 3, 4
使用场景
变量交换
let a = 1;let b = 2;[a,b] = [b,a];console.log(a,b); // 2, 1
返回值赋给变量
function f(){ return [1,2];}let a,b;[a,b] = f();console.log(a,b); // 1, 2
只选择需要的返回值
function f(){ return [1,2,3,4,5];}let a,b,c;[a,,b,,c] = f();console.log(a,b,c); // 1, 3, 5
对象类型
左右各一个对象
let o = {a: 1, b: 2};let {a,b} = o;console.log(a,b); // 1, 2
默认值
后面的a覆盖了前面的a
let {a = 1 , b = 2} = {a : 3};console.log(a,b); // 3, 2
获取json数据的值
{ let manInfo = { name: 'Tim Chen', more: [{ age: '23', sex: 'male', }] } let {name:myName, more:[{age:myAge}]} = manInfo; console.log(myName,myAge); // Tim Chen , 23}
对象方法类型
把对象赋给一些特殊对象,即相当于使用对象的方法。
let {floor,ceil} = Math;let a = 1.9;console.log(floor(a));
字符串类型
获取字符串长度
let {length} = 'Hello';console.log({length}); // {length:5}
解构字符串
let [a,b,...c] = 'Hello';console.log(a,b,c); // H e ["l", "l", "o"]
函数类型
解构函数参数
var arr = [1,2];function test([a,b]){ console.log("a:", a); console.log("b:", b);}console.log(test(arr)); // a: 1 b: 2
不区分参数顺序
注意:这里的参数是对象,不是数组!!!
var obj = {b:2, a:1};function test({a,b}){ console.log("a:", a); console.log("b:", b);}console.log(test(obj)); // a: 1 b: 2
、
参数默认值
var obj = {b:2};function test({a = 10, b}){...}
阅读全文
0 0
- ES6——解构赋值
- ES6 —(解构赋值)
- ES6—解构赋值的用途
- ES6——Day3(字符串的解构赋值+函数参数解构赋值)
- ES6个人学习整理(三)——解构赋值
- ES6之——变量的解构赋值
- ES6学习——变量的解构赋值
- ES6——Day2(数组的解构赋值)
- ES6——Day3(对象的解构赋值)
- ES6——Day3(解构赋值的用途)
- ES6学习(二)——变量的解构赋值
- 2、变量的解构赋值 —ES6学习笔记
- 【ES6系列】解构赋值
- ES6 destructuring 解构赋值
- es6 chapter3 解构赋值
- ES6 解构赋值用途
- ES6:解构赋值
- ES6 解构赋值
- javaScript中的相等性判断
- 单链表反转的几种方法
- VUE 文件高亮显示标签
- web——滚动事件(一)
- avplayer视频重复循环播放,视频重播
- ES6——解构赋值
- rocketMQ nameSrv原理解析
- 秋招总结腾讯
- JavaScript基础—计算鼠标偏移量
- Ubuntu16.04里django的配置和安装
- android调用堆栈汇总
- 3S基础知识:在VC++中嵌入MapX的集成二次开发
- 安装Node.js
- ASP.Net防范XSS漏洞攻击的利器HtmlSanitizer