解构赋值的用途

 // 1.交换变量的值
    let x =1;
    let y = 2;
    [x,y] = [y,x]
    // 2.从函数返回多个值
    // 函数只能返回一个值 若要返回多个 
    // 可以放在数组或对象里返回 还可以利用解构赋值
    function example(){
        return [1,2,3];
    }
    let [a,b,c] = example();
    example()    //返回一个数组






    function example(){
        return{
            foo:1,
            bar:2
        };
    }
    let {foo,bar} = example();
    // 返回一个对象



    // 3.函数参数的定义
    // 参数是一组有序的值
    function f([x,y,z]){...}
    f([1,2,3]);

    //参数是一组无序的值
    function f({x,y,z}){...}
    f({z:3,y:2,x:1})
    
    // 4.提取json数据
    let jsonData = {
        id:42,
        status:'ok',
        data:[867,5309]

    };
    let {id,status,data:number} = jsonData;
    console.log(id,status,number)


    // 5.函数参数的默认值
    jQuery.ajax = function (url,{
        async = true,
        beforeSend = function(){},
        cache = true,
        complete = function(){},
        crossDomain = false,
        global = true,
    } = {}){

    }

    // 6.遍历Map解构
    const map = new Map();
    map.set('first','hello')
    map.set('last','world')
    for(let [Key,value] of map){
        console.log(key + 'is' + value);
        
    }

函数参数的解构赋值

function add([x,y]){
        return x + y;
    }
    add([1,2])
    // add的参数表面是数组 但在传参时 数组参数被解构为x和y



    [[1,2],[3,4]].map(([a,b]) => a +b)
    //[3,7]
    

数值和布尔值的解构赋值

// 解构赋值时 等号右边是数值或布尔值时 则会先转为对象
    let {toStrig:s} = 123;
    s === Number.prototype.toString//true
    let {toString:s} = true;
    s === Boolean.prototype.toStrig;//true
    //数值和布尔值的包装对象都有toString属性 因此变量s都能取到值
    


    // 解构赋值原则 只要等号右边的值不是对象或数组 
    // 就先将其转换为对象 因为null和undefined无法转换为对象 所以解构赋值会报错

 

转载于:https://www.cnblogs.com/treasurea/p/11228450.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值