ES6知识点整理之函数数组参数的默认值及其解构应用示例

yizhihongxing

ES6知识点整理之函数数组参数的默认值及其解构应用示例

函数参数的默认值

在ES6之前,函数的参数如果没有传入值,则默认为undefined。

function func(a, b) {
  console.log(a, b);
}

func(1) //输出:1 undefined

在ES6中,函数的参数可以设置默认值,当没有传入该参数时,将使用设定的默认值。默认值可以是任何类型的值,包括函数调用、对象和数组等。

function func(a, b=2) {
  console.log(a, b);
}

func(1) //输出:1 2

如果一个参数的默认值是一个表达式,则每次函数被调用时,都会重新计算表达式的值。这意味着不能将它们放在循环或条件中。

function func(a, b=getB()) {
  console.log(a, b);
}

function getB() {
  return 2;
}

func(1) //输出:1 2

函数参数的解构赋值

在使用函数的参数时,我们通常会使用解构赋值的方法。ES6允许将对象和数组作为函数参数,同时使用解构赋值来提取参数的值。

对象参数的解构赋值

function func({a, b}) {
  console.log(a, b);
}

func({a:1, b:2}) //输出:1 2

当然我们可以给参数设置默认值:

function func({a=0, b=2}) {
  console.log(a, b);
}

func({a:1}) //输出:1 2

如果我们想把参数作为一个整体,而非解构它们,我们可以将它们包装在括号中:

function func({a, b} = {}) {
  console.log(a, b);
}

func() //输出:undefined undefined

数组参数的解构赋值

使用数组作为参数时,可以用解构赋值来提取参数的值。但是需要注意的是,数组的元素是按照顺序对应的,而对象的属性则是无序的。

function func([a, b]) {
  console.log(a, b);
}

func([1, 2]) //输出:1 2

同样,我们可以给数组参数设置默认值:

function func([a=0, b=2]) {
  console.log(a, b);
}

func([1]) //输出:1 2

如果我们不想提取所有的元素,可以使用圆括号来只提取部分元素:

function func([a, , b]) {
  console.log(a, b);
}

func([1, 2, 3]) //输出:1 3

如果传入的参数不是一个数组,将会在解构时抛出一个错误。

示例

例子1 - 计算圆的面积

我们可以使用默认参数将圆的半径设置为1:

function getAreaCircle(radius = 1) {
  return Math.PI * Math.pow(radius, 2);
}

console.log(getAreaCircle());    // 3.141592653589793
console.log(getAreaCircle(2));   // 12.566370614359172

例子2 - 交换变量的值

使用解构赋值来实现这个目前也很简单:

let a = 1, b = 2;

[b, a] = [a, b];

console.log(a, b);  // 2 1

这样可以让代码可读性更高。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ES6知识点整理之函数数组参数的默认值及其解构应用示例 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • js实现宇宙星空背景效果的方法

    为了实现宇宙星空背景效果,我们可以使用Canvas和JavaScript来实现。下面是步骤: 步骤1:HTML布局 <!DOCTYPE html> <html> <head> <title>宇宙星空背景</title> </head> <body> <canvas id…

    JavaScript 2023年6月11日
    00
  • JavaScript实现点击图片换背景

    对于实现点击图片换背景的功能,我们可以通过以下步骤完成: 在HTML中添加需要更换背景的元素和切换背景用的按钮。 <body> <div id="content"> <h1>点击图片换背景</h1> <p>这是一个示例</p> <img id="bg-…

    JavaScript 2023年6月11日
    00
  • javascript正则表达式基础篇

    JavaScript正则表达式是用来搜索、替换和匹配文本的一种强大的工具。本篇攻略将介绍JavaScript正则表达式的基础知识,包括正则表达式的语法和使用方法,以及常用的一些正则表达式符号和元字符。 正则表达式的语法 正则表达式是由一个或多个字符组成。其中,字符表示文本或元素,而文本则表示与字符完全匹配的文本。下面是一些常用的正则表达式符号和元字符: /p…

    JavaScript 2023年5月28日
    00
  • JavaScript中如何使用cookie实现记住密码功能及cookie相关函数介绍

    下面就来详细讲解“JavaScript中如何使用cookie实现记住密码功能及cookie相关函数介绍”的完整攻略。 什么是Cookie? Cookie是Web服务器发送到用户浏览器并保存在本地的一小块数据,cookie通常用于存储用户的登录信息、购物车信息等。浏览器再次访问相同的服务器时,会在HTTP请求头中自动携带该服务器之前设置的cookie,从而实现…

    JavaScript 2023年6月11日
    00
  • Bootstrap table的使用方法

    以下是关于Bootstrap table的使用方法的完整攻略。 Bootstrap table是什么? Bootstrap table是一个基于Bootstrap开发的强大的表格插件,提供了丰富的功能和定制选项,使得开发人员可以快速创建高度定制化的表格。 如何引入Bootstrap table? 在使用Bootstrap table之前,我们需要先引入Boo…

    JavaScript 2023年6月11日
    00
  • 微信小程序 template模板详解及实例代码

    下面我将详细讲解“微信小程序 template模板详解及实例代码”的完整攻略。 1. 什么是小程序模板 小程序模板是指微信小程序官方提供的预设页模板,可以帮助开发者快速构建页面,减少开发者的工作量,提高开发效率。小程序模板包括常用的列表、表单、详情页、搜索等页面,并且每个模板的样式和交互都已经进行了基本的设计和实现。 2. 如何使用模板 使用小程序模板可以通…

    JavaScript 2023年6月11日
    00
  • js中日期的加减法

    关于 JS 中日期的加减法,我们可以使用内置的 Date 对象进行处理。 基本用法 Date 对象可以使用以下方式创建: const now = new Date(); const someDate = new Date(‘2022-01-01’); const someDateTime = new Date(‘2022-01-01T12:00:00Z’);…

    JavaScript 2023年5月27日
    00
  • d3.js入门教程之数据绑定详解

    d3.js入门教程之数据绑定详解 什么是d3.js? d3.js全称Data-Driven Documents,是一个非常强大的数据可视化库。使用d3.js可以将数据转化为各种图表、动画和交互式图形。 为什么需要数据绑定? 数据绑定是在d3.js中非常重要的概念,因为它是将数据和元素结合在一起的基础。在d3.js中,元素是表示数据的最终呈现形式。因此,了解如…

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