// talk is cheap, show me the code.
// https://blog.csdn.net/AV_woaijava/article/details/106928397
// 使用=设置默认值
// 使用:重命名解构后的变量
// 即使对undefined进行结构,也不会抛异常,所以可以放心大胆的解构啦
// function deconstruct(obj) {
// {
// const {list} = {...obj}
// console.log('直接解构 list=', list)
// }
// {
// const {list = '/'} = {...obj}
// console.log('有默认值的解构 list=', list)
// }
// {
// const {list: pageApi} = {...obj}
// console.log('解构后重命名 pageApi=', pageApi)
// }
// {
// const {list: pageApi = '/'} = {...obj}
// console.log('解构后重命名并设置默认值 pageApi=', pageApi)
// }
// }
// deconstruct({ list: '/users' })
// console.log('----------------')
// deconstruct({})
// console.log('----------------')
// deconstruct(undefined)
// 对象结构解决的问题
// const list = obj.data.list || ''
// 如果obj.data是一个空对象,那么此时就会报错
// 使用对象解构就能解决这一问题
function deconstruct(obj) {
const {data = {}} = {...obj}
const {list = ''} = {...data}
console.log('list=', list)
console.log('list=', obj.data.list || '')
}
const url = {
data: {
list: '/users'
}
}
deconstruct(url)
console.log('----------------')
deconstruct({})
console