zoukankan      html  css  js  c++  java
  • es6 语法 (解构赋值)

    1.结构赋值

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

    {
    let a,b,rest;
    [a,b,...rest] = [1,2,3,4,5,6];
    console.log(a,b,rest); //3,[4,5,6]
    }

    2.对象结构赋值

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

    3.默认值

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

    4.变量交换

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

    5.函数赋值

    {
    function f(){
    return [1,2]
    }
    let a,b;
    [a,b] = f();
    console.log(1,2); // 1,2

    }

    6.选择性接受值

    {
    function f(){
    return [1,2,3,4,5]
    }
    let a,b,c;
    [a,,,b] = f();
    console.log(a,b); //1,4
    }

    7.第一个取出来,其他的赋值给数组

    {
    function f(){
    return [1,2,3,4,5]
    }
    function ff(){
    return [1,2,3,4,5]
    }
    let a,b,c;
    let a1,b1,c1;
    [a,...b] = f();
    [a1,,...b1] = ff();
    console.log(a,b); //1,[2,3,4,5]
    console.log(a1,b1);1,2,[3,4,5]
    }

    //////////////////////////////////////////////////////////////////////////////////////////////////////////////

    //对象解构赋值
    {
    let o = {p:42,q:true};
    let{p,q} = o;
    console.log(p,q); //42,true
    }
    //对象解构赋值默认值处理
    {
    let {a=10,b=5} = {a:3};
    console.log(a,b); //3,5
    }

    //对象json 赋值

    {
    let metaData = {
    title:'abc',
    test:[{
    title:'test',
    desc:'description'
    }]
    }
    let {title:esTitle,test:[{title:cnTitle}]} = metaData;
    console.log(esTitle,cnTitle) //abc,test

  • 相关阅读:
    Metro-UI系统-1-tile标签
    linux 修改文件最大数
    linux 利用cat写入一段文件
    linux for 循环的小应用
    办公区公网Ip访问不到阿里云ECS
    Django 构建一个项目
    Django 基础篇
    iptables 生产环境下基础设置
    centos7 部署LNMP
    查看sqlserver被锁的表以及如何解锁
  • 原文地址:https://www.cnblogs.com/Byme/p/7607764.html
Copyright © 2011-2022 走看看