解构赋值语法是一种 Javascript 表达式。通过解构赋值,可以将属性/值从对象/数组中取出,赋值给其他变量,MDN关于解构赋值的链接如下
解构赋值developer.mozilla.org![93f9ad7e8f4bdbf12420583bf889c0b9.png](https://i-blog.csdnimg.cn/blog_migrate/3f1a75a472c61f9861105ebbcb930e37.jpeg)
1.简单的结构
1-1.不用解构赋值的方法的代码
let config={
method:'m',
url:'u',
data:'d'
}
let method=config.method
let url=config.url
let data=config.data
console.log(method,url,data)
输入的结果是
![30b27a7cbeb5b46a63a0aedfa9350ab5.png](https://i-blog.csdnimg.cn/blog_migrate/0544e6b1dd3496c1431adfac87905b27.jpeg)
1-2.使用解构赋值的方法的代码
let config={
method:'m',
url:'u',
data:'d'
}
// let method=config.method
// let url=config.url
// let data=config.data
let {method,url,data}=config
console.log(method,url,data)
输出的结果还是跟前面的一样
![9a1d5ca37bc37c78a622dfa1a8527fcd.png](https://i-blog.csdnimg.cn/blog_migrate/1b5fef819b0fe1843f1cab7f485393a6.jpeg)
稍微注意点就是let method=config.method,前面的method必须要和后面的method一样。如果修改为method1,就不一样,这样就不符合解构赋值的方法,就产生错误
![5ba2c885bb8c657e0789016a6c71139d.png](https://i-blog.csdnimg.cn/blog_migrate/b283d9a399b63556dc19f3fd48163e49.jpeg)
2.作为函数实参
2-1.不用解构赋值的方法的代码
let config={
method:'m',
url:'u',
data:'d'
}
function fn(x){
console.log(x)
}
fn({method:'m',url:'u',data:'d'})
输出结果
![63959f43ab67cff899c8ca0d0c433410.png](https://i-blog.csdnimg.cn/blog_migrate/ecb6d62c9b20cc6fc2bb052e2126c78c.jpeg)
2-2.使用解构赋值的方法的代码
let config={
method:'m',
url:'u',
data:'d'
}
// let method=config.method
// let url=config.url
// let data=config.data
let {method,url,data}=config
// console.log(method,url,data)
function fn(x){
console.log(x)
}
fn({method,url,data})
// fn({method:'m',url:'u',data:'d'})
输出结果一样
![db355a948d58ecef21e7149052b1647a.png](https://i-blog.csdnimg.cn/blog_migrate/1eb4a615483e83bd6ed4282700469903.jpeg)
3.对象里面还有对象
3-1.不用解构赋值的方法的代码
let response={
config:{
method:'m',
url:'u',
data:'d'
}
}
let config=response.config
let method=config.method
let url=config.url
let data=config.data
console.log(method,url,data)
输出的结果
![27c5a9ae8bec92c9540fab83193e1c15.png](https://i-blog.csdnimg.cn/blog_migrate/26705b3a4368bb1bb3505bcef2bdd5af.jpeg)
3-2.使用解构赋值的方法的代码
let response={
config:{
method:'m',
url:'u',
data:'d'
}
}
// let config=response.config
// let method=config.method
// let url=config.url
// let data=config.data
// let {method,url,data}=config
// let {config}=response
let {config:{method,url,data}}=response//这个是没有声明config
console.log(method,url,data)//这里不能输出config,但是可以输出method或url或data
输出的结果一样
![0a74f0516c8f79c5380994daa8cf3da4.png](https://i-blog.csdnimg.cn/blog_migrate/82e6f0aefa6f50599ce89fbab980e708.jpeg)
需要注意一点,因为这里是没有声明config,所以这里打印config会报错
![bab1fbf73022705fad884a23c92b3752.png](https://i-blog.csdnimg.cn/blog_migrate/d2d477bce360d0734bc989add45070b9.jpeg)
本文为本人的原创文章,著作权归本人所有,转载务必注明来源