详解TS对象扩展运算符和rest运算符

详解TS对象扩展运算符和rest运算符

什么是对象扩展运算符和rest运算符

对象扩展运算符(也称为Spread运算符)和rest运算符(也称为剩余参数运算符)都是ES6新增的两种运算符。它们可以用于处理对象或数组中的元素,让代码更加简洁易读,常见于函数参数和数组/对象合并操作。

简单来说,对象扩展运算符可以将一个对象展开成多个对象,而rest运算符则可以将多个元素合并为一个数组或对象。

对象扩展运算符的使用

示例1:对象合并

可以使用对象扩展运算符将多个对象合并成一个新对象。

const obj1 = { a: 1, b: 2 };
const obj2 = { c: 3, d: 4 };
const mergedObj = { ...obj1, ...obj2 };

console.log(mergedObj);  // { a: 1, b: 2, c: 3, d: 4 }

示例2:对象复制

可以使用对象扩展运算符来实现对象的复制,避免浅拷贝和深拷贝带来的问题。

const originalObj = { a: { b: 1 } };
const copyObj = { ...originalObj };

// 修改原始对象,不会影响复制对象
originalObj.a.b = 2;
console.log(copyObj);  // { a: { b: 1 } }

rest运算符的使用

示例1:函数参数

可以使用rest运算符来捕获函数中多余的参数,将其合并成一个数组。

function sum(...nums: number[]) {
  return nums.reduce((total, num) => total + num, 0);
}

console.log(sum(1, 2, 3, 4));  // 10

示例2:数组合并

可以使用rest运算符将多个数组合并成一个新的数组。

const arr1 = [1, 2];
const arr2 = [3, 4, 5, 6];
const mergedArr = [...arr1, ...arr2];

console.log(mergedArr);  // [1, 2, 3, 4, 5, 6]

总结

对象扩展运算符和rest运算符可以使代码更加简洁易读,常见于函数参数和数组/对象合并操作。在合理使用的前提下,它们都可以提升代码的可读性和可维护性,并且都被广泛支持,不需要担心兼容性问题。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解TS对象扩展运算符和rest运算符 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • JS实现给对象动态添加属性的方法

    给对象动态添加属性的方法在JS中有多种实现方式,下面详细讲解其中较为常见的两种。 使用点操作符或方括号操作符 我们可以使用点操作符或方括号操作符在运行时动态地为对象添加属性。使用点操作符时,可以像如下代码一样,将属性名称作为对象的属性名: const obj = {}; obj.name = ‘张三’; console.log(obj.name); // 输…

    JavaScript 2023年5月27日
    00
  • Javascript自执行匿名函数(function() { })()的原理浅析

    下面是详细讲解“Javascript自执行匿名函数(function() { })()的原理浅析”的完整攻略。 什么是自执行匿名函数 自执行匿名函数是指一个没有被显式调用、自己调用自己的函数。通常会使用函数表达式的形式来定义。在定义之后,紧跟一对小括号,并在小括号内直接写上一对匿名函数的函数体,即形如(function(){…})()的代码。这样写的代码会在…

    JavaScript 2023年5月27日
    00
  • JavaScript fetch接口案例解析

    JavaScript fetch接口案例解析 简介 JavaScript fetch是一种新的用于从服务器获取资源的方式,它支持 Promise,并内置了 json() 函数用于解析返回的 JSON 数据。同时它的 API 具有清晰、简洁的语法,并解决了跨域问题,是我们日常工作中经常使用的工具。本文将详细讲述 JavaScript fetch 的使用方法以及…

    JavaScript 2023年6月11日
    00
  • C# DropDownList中点击打开新窗口的方法

    下面是“C# DropDownList中点击打开新窗口的方法”的完整攻略。 1. 确定目标页面和传递参数 首先需要确定要打开的目标页面以及要传递给目标页面的参数,例如,我们要打开的目标页面为“TargetPage.aspx”,要传递的参数为“id=123”。 2. 将DropDownList设置为自动PostBack模式 为了使DropDownList选择项…

    JavaScript 2023年6月11日
    00
  • 获取客户端电脑日期时间js代码(jquery)

    获取客户端电脑日期时间的js代码可以通过javascript的内置Date对象或者第三方库jquery来实现。下面我将详细介绍两种获取客户端电脑日期时间的js代码。 使用Date对象获取电脑日期时间 javascript内置Date对象提供了获取电脑日期时间的方法。可以通过以下代码实现: var now = new Date(); var year = no…

    JavaScript 2023年5月27日
    00
  • asp+jsp+JavaScript动态实现添加数据行

    为了实现添加数据行,我们需要使用以下技术: ASP:一种用于创建动态Web应用程序的服务器端脚本技术; JSP:一种用于创建动态Web应用程序的服务器端脚本技术; JavaScript:一种用于在网页中添加交互和动态效果的编程语言。 下面是实现添加数据行的详细攻略: 创建一个HTML页面。在页面中,添加一个表格元素,并为其添加表头和一个空的表体: <h…

    JavaScript 2023年6月10日
    00
  • 28个JS常用数组方法总结

    28个JS常用数组方法总结 本文将介绍28个JS常用数组方法,包括简单的遍历方法和高级的数组变换方法。这些方法可以用来操作数组,从而更好的解决开发中出现的问题。 1. forEach forEach用于遍历数组并对数组中的每个元素执行指定操作。操作通过传递一个回调函数实现。回调函数接受三个参数:数组中的当前元素、当前元素的索引和数组本身。 const arr…

    JavaScript 2023年5月27日
    00
  • 解决JS浮点数运算出现Bug的方法

    下面是针对解决JS浮点数运算出现Bug的方法的完整攻略: 解决JS浮点数运算出现Bug的方法 问题描述 在JavaScript中,进行浮点数运算时,会出现精度问题,例如: 0.1 + 0.2 // 0.30000000000000004 这是因为JavaScript采用的是IEEE 754标准定义的64位双精度浮点数,无法精确表示某些小数。这种问题会影响到一…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部