ES6---解构赋值

解构赋值非常有用!

1.最简单的一种  数组解构

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

console.log(a,b,c)  结果为1,2,3

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

console.log(a,b,c) 结果为1,[2,3],undefined

  解构赋值的话前后结构要一致

2.对象解构

let {name,age,job}={name:"yu",age:"18",job:"manong"}

其中你要看作是这样的

let{name:name,age:age,job:job}={name:"yu",age:"18",job:"manong"}
前面一个是结构,后面一个是才是变量,
所以解构后是
name="yu",
age="18",
job="manong";

如果是这样的话

let{name:name1,age:age1,job:job1}={name:"yu",age:"18",job:"manong"}

解构出来的结果是
name1="yu";
age1:"18",
job1:"manong"

name,age,job是没有值的。

  解构有很多用途

解构的时候可以给默认值

let[name,age,job="manong"]={"yu","18"}

结果是name:'yu',age:'18',job:'manong';

let[name,age,job="manong"]={"yu","18",undefined}

结果是name:'yu',age:'18',job:'manong';

let[name,age,job="manong"]={"yu","18",null}

结果是name:'yu',age:'18',job:null;

注意解构的时候null和undefined是不一样的
null表示的是有值,undefined表示的是没有值

   解构交换两个变量的值

      let a=12,b=5;

     [a,b]=[b,a];

     结果为a=5,b=12;

  其实

用途一

import {a,b,c} from './mod'  这个就是解构

用途二

function show({a,b="默认值"}){}

show({a:12})

但是注意如果,

show({})这样写是没有错误的,结果是a=undefined,b="默认值"

show()  这样会报错

可以这样实现

function show({a,b="默认值"}={}){}

show();

原文地址:https://www.cnblogs.com/yuaima/p/13557685.html