解构赋值的用途
Posted treasurea
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解构赋值的用途相关的知识,希望对你有一定的参考价值。
// 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无法转换为对象 所以解构赋值会报错
以上是关于解构赋值的用途的主要内容,如果未能解决你的问题,请参考以下文章