函数参数默认值与解构赋值

函数参数默认值与解构赋值:

解构赋值是针对数组,对象这样可迭代可遍历的数据类型的。下面主要探究对象的解构赋值和函数参数的默认值的混合使用

1:对象的解构赋值

解构
let { a, b } = { a: 1, b: 2 };
log(a, b); //1,2
为下面形式的简写
let { a:a, b:b } = { a: 1, b: 2 };)
 
//////////////错误示例:等号两边的键必须是一样的,当键一样,才能把值赋出来。键值对//////////////////////////////
let { x, y } = { a: 1, b: 2 };
console.log(x, y); //undefined,undefined
////////////////////////////////////////////////////////////////
默认值
let {x=10}={};
log(x);//10
//////
let { x, y = 3 } = {x:10};
log(x,y);//10,3
 

2:函数参数的的解构与默认值

设置默认参数,直接在接收参数处赋值
const log = (x, y = 'World') => console.log(x, y);

log('Hello') // Hello World
log('Hello', 'China') // Hello China
log('Hello', '') // Hello
 
参数的默认值与解构赋值混合
const foo=({x, y = 10})=>console.log(x, y);

foo({}) // undefined 10
foo({x: 1}) // 1 10
foo({x: 1, y: 2}) // 1 2
foo() // TypeError: Cannot destructure property `x` of 'undefined' or 'null'.
如下,则正确:直接在参数里面再给对象赋值一个空对象:{x, y = 10}={ }
const foo=({x, y = 10}={ })=>console.log(x, y);
foo() // undefined 10
 
 
 
 
 
 
 
 
 
posted @ 2020-02-28 20:26  洋葱头king  阅读(461)  评论(0)    收藏  举报