专栏首页前端达人【ES6基础】默认参数值
原创

【ES6基础】默认参数值

如果函数中定义的参数缺失,此参数变量的值则会是undefined。怎么给缺失的参数赋值默认值,在ES6之前,没有相关简单易用的方法分配给缺失参数默认值,但是我们一般可以这么编写代码解决缺失参数默认值:

function myFunction(x, y, z) {
 x = x === undefined ? 1 : x;
 y = y === undefined ? 2 : y;
 z = z === undefined ? 3 : z;
 console.log(x, y, z); //Output "6 7 3"
 }
 myFunction(6, 7);

在ES6中,我们可以用更简洁的语法进行实现,通过本篇文章类容你将学习到以下内容:

  • 使用ES6语法声明参数默认值
  • 使用undefined传参
  • 参数运算

本篇文章阅读时间5分钟

使用ES6语法声明参数默认值

我们可以使用ES6简洁的语法,如下示例进行声明函数参数的默认值:

function myFunction(x = 1, y = 2, z = 3) {
 console.log(x, y, z); 
}
myFunction(6,7); // Outputs 6 7 3

在上述代码示例中,我们在调用此函数中传递了前两个参数,因此参数的默认值(即x=1和y=2)将会被覆盖(即x=6和y=7)。由于第三个参数缺省,因此z使用默认值,将会是3。

值使用undefined传参

如果我们想让具体某个参数使用默认值,我们可以使用undefined进行赋值,如下段代码所示:

function myFunction(x = 1, y = 2, z = 3) {
   console.log(x, y, z); // Outputs "1 7 9"
 }
 myFunction(undefined,7,9);

是不是很简单,只需要使用undefined,我们就可以指定具体某个参数使用默认值。

参数运算

在ES6中我们不仅可以给参数默认赋值具体的参数,同时参数赋值支持参数的逻辑运算进行赋值,如下段代码所示:

function myFunction(x = 1, y = 2, z = x + y) {
   console.log(x, y, z); // Output "6 7 13"
 }
 myFunction(6,7);

在上述代码中,我们只传入了前两个参数,第三个参数缺省,第三个参数的值默认值是则会是前两个参数之和。

小节

今天的内容就到这里,当我们在开发一些工程应用通用组件时,都需要暴露一些接口以供使用。而这些接口的友好性是决定这个组件质量的一大指标,其中参数缺省值(默认值)的完善程度同时也影响接口的友好性,感谢ES6能让我们用如此简介的语法设置参数的缺省值。

E6相关文章

【ES6基础】let和作用域

【ES6基础】const介绍

更多精彩内容,请微信关注”前端达人”公众号!

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【ES6基础】默认参数值

    今天的内容很简单,小编将会给大家介绍调用函数过程中,如果其中的参数缺失,如何设置默认值。

    前端达人
  • 掌握JS函数中的几种参数形式(函数基础)

    函数是一段结合在一起执行特定任务的代码,函数一般使用参数与外部进行交互。要编写简洁高效的JS代码,必须掌握函数参数。

    前端达人
  • 「JS小技巧」随机不重复的ID,模板标签替换,XML与字符串互转,快速取整

    今天笔者整理了一份自己最近用到的一些小技巧分享给大家,虽然都是基础技术,不过在某些特殊时刻还蛮有用的,不至于加载一堆体积庞大的第三方库,今天笔者用本文归纳一下分...

    前端达人
  • 【ES6基础】默认参数值

    今天的内容很简单,小编将会给大家介绍调用函数过程中,如果其中的参数缺失,如何设置默认值。

    前端达人
  • C++之函数参数的扩展

    程序手艺人
  • C++之函数参数默认值

    函数参数默认值顾名思义即:给函数的参数给予一个默认值。这种方式在OpenCV的API中是非常多的。

    zy010101
  • Java 可变参数

    Java1.5增加了新特性:可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理。注意:可变参数必须位于最后一项。当可变参数个数多余一...

    MonroeCode
  • 你所不知道的Python | 函数参数的演进之路

    函数参数处理机制是Python中一个非常重要的知识点,随着Python的演进,参数处理机制的灵活性和丰富性也在不断增加,使得我们不仅可以写出简化的代码,也能处理...

    simpleapples
  • SQL Server 常用函数

      三个参数,第一个参数需要截取的,第二个参数,截取字符串的起始位置(起始位置是1),第三个参数需要截取字符串的长度。

    _一级菜鸟
  • java_Object类、日期时间类、System类、包装类

    java.lang.Object 类是所有类的父类。它描述的所有方法子类都可以使用。在对象实例化的时候,最终找的父类就是Object。

    咕咕星

扫码关注云+社区

领取腾讯云代金券