Javascript设置函数参数默认值[ ES6/ES2015总结]

对于js设置函数参数默认值对于绝大多数小伙伴来说,那可以说是相当的简单的,在ES6/ES2015中语法很简单,但是有一些浏览器是不兼容的ES6/ES2015的,或许大家会说我们可以使用babel来编译支持低版本浏览器。

确实用babel可以解决这个问题: (,但是今天俺还是要跟大家分享一下ES6/ES2015和低版本js中是如何设置函数默认值的。

ES6/ES2015

ES6 / ES2015开始,默认参数已经在语言规范当中。

/**
 * 时间:2019年8月13日
 * 前端教程: https://www.pipipi.net/
 */

function read_file(file, delete_after = false) {
    // Code
}

上面的代码已经实现了默认参数,参阅MDN详细解释

你也可以使用ES6/ES2015中的解构赋值来实现默认命名参数:

/**
 * 时间:2019年8月13日
 * 前端教程: https://www.pipipi.net/
 */


function myFor({ start = 5, end = 1, step = -1 } = {}) { // (A)

}

ES2015之前的版本

实现默认参数ES2015之前的版本有许多的方法,俺看到的比较多的,使用比较多的方法是以下代码,该方法支持传递任何值包括false或null。

/**
 * 时间:2019年8月13日
 * 前端教程: https://www.pipipi.net/
 */
function foo(a, b) {
    a = typeof a !== 'undefined' ? a : 42;
    b = typeof b !== 'undefined' ? b : 'default_b';
}

 

(0)
上一篇 2019年8月13日 下午11:43
下一篇 2019年8月14日 下午11:52

相关推荐

发表回复

登录后才能评论