zoukankan      html  css  js  c++  java
  • 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();

  • 相关阅读:
    vijos 1066 弱弱的战壕 树状数组
    vijos 1057 盖房子 简单DP
    完全背包
    HDU 1203 和 HDU 2191
    dp 01背包,完全背包,多重背包 模板
    UVA11624 Fire!
    我们要学习的算法
    Find a way 两路广搜
    NYOJ 最小步数(简单深搜与广搜)
    HDU Dungeon Master广搜
  • 原文地址:https://www.cnblogs.com/yuaima/p/13557685.html
Copyright © 2011-2022 走看看