变量的解构赋值[二对象]

本文详细探讨了ES6中的对象解构赋值,包括其基本写法、特点,如属性顺序无关、默认值设定及如何解决解构过程中的歧义问题。通过实例解析了解构赋值在实际开发中的应用。
摘要由CSDN通过智能技术生成

ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。

一.对象的解构赋值

1.基本写法

  • 基本写法

    let {
          foo, bar } = {
          foo: 'aaa', bar: 'bbb' };
    foo // "aaa"
    bar // "bbb"
    

2.特点

  • ① 对象属性赋值是按照属性名匹配的,和属性顺序无关。

    let {
          bar, foo } = {
          foo: 'aaa', bar: 'bbb' };
    foo // "aaa"
    bar // "bbb"
    
  • ② 对象解构无相应属性,赋值为undefined

    let {
         foo} = {
         bar: 'baz'};
    foo // undefined
    
  • ③ 对象的解构赋值可以取到继承的属性

    const obj1 = {
         };
    const obj2 = {
          foo: 'bar' };
    Object.setPrototypeOf(obj1, obj2);
    
    const {
          foo } = obj1;
    foo // "bar"
    
  • ④ 与数组一样,解构也可以用于嵌套结构的对象。

    //一.嵌套结构
    let obj = {
         
      p: [
    	'Hello',
    	{
          y: 'World' }
      ]
    };
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript中,解构赋值是一种方便的语法,可以将数组或对象中的成员解构出来并赋值变量。对于数组解构,可以使用方括号来指定要解构变量,然后将数组的对应元素赋值给这些变量。例如,如果我们有一个存放了名字和姓氏的数组`arr`,我们可以使用解构赋值将数组的元素赋值给对应的变量。\[2\] 在对象解构中,我们可以使用花括号来指定要解构变量,然后将对象的对应属性值赋值给这些变量。例如,如果我们有一个对象`obj`,其中包含`name`和`age`属性,我们可以使用解构赋值将这些属性值赋值给对应的变量。\[1\] 此外,我们还可以将`.entries()`方法与解构语法一同使用,来遍历一个对象的键值对。这个方法返回一个包含对象的键值对的数组,然后我们可以使用解构赋值将键和值分别赋值给对应的变量。\[3\] 希望这个解答对你有帮助! #### 引用[.reference_title] - *1* [解构赋值(数组解构对象解构)](https://blog.csdn.net/qq_50260510/article/details/129927253)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [ES6 --- 解构赋值(数组,对象,函数)使用详解](https://blog.csdn.net/m0_52409770/article/details/123096308)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值