首页 > 编程语言 >JavaScript进阶(四)---js解构

JavaScript进阶(四)---js解构

时间:2024-07-12 15:30:48浏览次数:14  
标签:console log age JavaScript 解构 --- let name

目录

一.定义:

二.类型:

1.数组解构:

1.1变量和值不匹配的情况

1.2多维数组

2.对象解构

3.对象数组解构

4.函数参数解构

5.扩展运算符



一.定义:

JavaScript 中的解构(Destructuring)是一种语法糖,它允许我们从数组或对象中提取数据,并将这些数据赋值给新的变量。解构使得代码更加简洁易读,特别是在处理复杂的数据结构时。

二.类型:

1.数组解构:

let [a, b, c] = [1, 2, 3];
    console.log(a); // 1
    console.log(b); // 2
    console.log(c); // 3

  // 数组解构
    // 1. 基本语法
    const [a, b, c] = [1, 2, 3]
    console.log(a)
    console.log(b)
    console.log(c)

    // 2. 典型的使用场景  交换2个变量的值
    let x = 1
    let y = 2;
    [y, x] = [x, y]
    console.log(x, y);

    // 3. js 2个特殊情况需要加分号
    // 3.1 如果是小括号开头的则需要加分号
    (function () { })();
    (function () { })();
    // 3.2 如果是中括号开头的则需要加分号

1.1变量和值不匹配的情况

// 1. 变量多,值少的情况
    // const [a, b, c, d] = ['小米', '华为', '苹果']
    // console.log(a)
    // console.log(b)
    // console.log(c)
    // console.log(d) // undefined

    // 2. 防止undefined传值,可以设置默认值
    // const [a, b, c, d = '三星'] = ['小米', '华为', '苹果']
    // console.log(a)
    // console.log(b)
    // console.log(c)
    // console.log(d)

    // 3. 变量少,值多的情况
    // const [a, b] = ['小米', '华为', '苹果']
    // console.log(a)
    // console.log(b)

    // 4. 利用剩余参数解决变量少值多的情况
    // const [a, ...b] = ['小米', '华为', '苹果']
    // console.log(a)
    // console.log(b)

    // 5. 按需导入,忽略某些值
    const [a, , c, d] = ['小米', '华为', '苹果', 'vivo']
    console.log(a)
    console.log(c)
    console.log(d)

1.2多维数组


2.对象解构

对象解构允许我们通过对象的属性来获取值,并将其赋值给变量。基本语法如下:

let { name, age } = { name: 'Alice', age: 25 };
console.log(name); // Alice
console.log(age);  // 25

对象解构时,属性名必须与变量名一致,或者使用别名:

let { name: userName, age: userAge } = { name: 'Bob', age: 30 };
console.log(userName); // Bob
console.log(userAge);  // 30

如果对象中没有对应的属性,变量将被赋值为 undefined。

3.对象数组解构

  // 3. 对象数组解构
    const arr = [
      {
        username: '小明',
        age: 18
      }
    ]

    const [{ username: uname, age }] = arr
    console.log(uname)
    console.log(age)

4.函数参数解构

解构也可以用于函数参数,使得函数调用更加简洁:

function greet({ name, age }) {
  console.log(`Hello, ${name}! You are ${age} years old.`);
}

greet({ name: 'Dave', age: 40 });
// Hello, Dave! You are 40 years old.

5.扩展运算符

与解构相对的是扩展运算符(spread operator),它允许将数组或对象的元素展开到一个新的数组或对象中:

let first = [1, 2];
let second = [3, 4];
let combined = [...first, ...second];
console.log(combined); // [1, 2, 3, 4]

let { name, ...rest } = { name: 'Eve', age: 28, city: 'Paris' };
console.log(name);    // Eve
console.log(rest);    // { age: 28, city: 'Paris' }

标签:console,log,age,JavaScript,解构,---,let,name
From: https://blog.csdn.net/yanminghe66666/article/details/140347332

相关文章

  • 07--JS07--逆向03:字体反爬
    JS逆向03:字体反爬jsvmp:代码虚拟化保护方案ast:抽象语法树1.字体文件、字体反爬###1字体文件.ttf.woff或.eot在计算机内存中,文字就是一堆二进制(unicode),要以文字图形的样子,展示给用户看就要指定它们之间的对应关系,就是字体文件书法字体、火星文......
  • maven拉取pentaho-kettle依赖
    问题pentaho-kettle不在maven中央仓库里,且官方不再维护,所以中央库和阿里镜像库都拉取不到。解决办法添加资源库配置<repositories><repository><id>pentaho-kettle</id><name>pentaho-kettle仓库</name><url>https://repo.orl.eng.hitachi......
  • 【北方工业大学承办,JPCS独立出版 (ISSN:1742-6596) | 组委会嘉宾阵容强大】2024年电力
    2024年电力系统工程与智能电网国际学术会议(PSESG2024)于2024年8月16-18日在中国·北京隆重召开。会议旨在为从事“电力系统工程”、“智能电网”、“储能技术”等领域的专家学者、工程技术人员、研发人员提供一个共享科研成果和前沿技术,了解学术发展趋势,拓宽研究思路,加强学术......
  • VAE(Variational auto-encoder)
    1.VAE(Variationalauto-encoder)笔记来源及推荐文章:1.变分自编码器(一):原来是这么一回事2.变分自编码器(二):从贝叶斯观点出发3.变分自编码器(三):这样做为什么能成?4.变分自编码器(四):一步到位的聚类方案5.变分自编码器=最小化先验分布+最大化互信息6.变分自编码器(六):从几何......
  • 脑瘤-图像分类数据集
    脑瘤-图像分类数据集数据集:链接:https://pan.baidu.com/s/11nIlAsNbhx3umCdjcTUzFg?pwd=0e1g提取码:0e1g数据集信息介绍:文件夹健康中的图片数量:500文件夹垂体肿瘤中的图片数量:899文件夹神经胶质瘤中的图片数量:926文件夹脑膜瘤中的图片数量:929所......
  • 十一、【机器学习】【监督学习】- 局部加权线性回归 (Locally Weighted Linear Regres
     系列文章目录第一章【机器学习】初识机器学习第二章【机器学习】【监督学习】-逻辑回归算法(LogisticRegression)第三章【机器学习】【监督学习】-支持向量机(SVM)第四章【机器学习】【监督学习】-K-近邻算法(K-NN)第五章【机器学习】【监督学习】-决策树(D......
  • Nepxion 教程 - Discovery 之配置中心支持灰度配置
    NepxionDiscovery支持与主流配置中心(如Nacos、Apollo、SpringCloudConfig)集成,实现配置的集中管理和动态刷新,特别是在灰度发布场景下,能够为不同的服务实例或环境提供差异化配置。以下是如何使用NepxionDiscovery配合配置中心实现灰度配置的教程:1.准备工作选择配置中......
  • 2024年华为OD机试真题-传递悄悄话-C++-OD统一考试(C卷D卷)
    2024年OD统一考试(D卷)完整题库:华为OD机试2024年最新题库(Python、JAVA、C++合集) 题目描述:给定一个二叉树,每个节点上站着一个人,节点数字表示父节点到该节点传递悄悄话需要花费的时间。初始时,根节点所在位置的人有一个悄悄话想要传递给其他人,求二叉树所有节点上的人都接收到悄......
  • day10-stack&Queue-part01-7.12
    tasksfortoday:1.理论基础2.232用栈实现队列3.225用队列实现栈4.20有效的括号5.1047删除字符串中所有相邻重复项--------------------------------------------------------------------------1.理论基础stack:firstinlastout     head    ......
  • 服务器部署全流程-阿里云服务购买到宝塔部署
    一、部署前端页面1.阿里云购买试用免费服务器 找到一个自己想要的服务器,然后再这里选择服务器的系统,我们一般选择CentOS(也就是Linux系统),其他的都可以选择系统默认2.购买后跳转至阿里云控制台,点击三个点,搜索服务器密码,重新修改密码3.启动该实例后进行远程连接......