1. 函数参数的默认值

电脑杂谈  发布时间:2020-05-22 09:03:39  来源:网络整理

函数参数 默认值_c++ 默认参数_c 函数默认参数

在ES6之前,您不能直接为函数参数指定默认值,而只能使用解决方法.

function log(x, y) {
  y = y || 'World';
  console.log(x, y);
}
log('Hello') // Hello World
log('Hello', 'China') // Hello China
log('Hello', '') // Hello World

函数参数 默认值_c 函数默认参数_c++ 默认参数

上面的代码检查是否已分配功能日志的参数y. 如果不是,则默认值为World. 此方法的缺点是,如果分配了参数y,但相应的布尔值是false函数参数 默认值,则分配将不起作用. 就像上面代码的最后一行一样,参数y等于空字符,并且结果更改为默认值.

为避免此问题,通常必须确定是否分配了参数y,如果没有分配,则它等于默认值.

c++ 默认参数_函数参数 默认值_c 函数默认参数

if (typeof y === 'undefined') {
  y = 'World';
}

ES6允许您为功能参数设置默认值,该默认值直接在参数定义之后编写.

c++ 默认参数_c 函数默认参数_函数参数 默认值

function log(x, y = 'World') {
  console.log(x, y);
}
log('Hello') // Hello World
log('Hello', 'China') // Hello China
log('Hello', '') // Hello

如您所见,ES6的编写比ES5简单得多,而且非常自然. 这是另一个例子.

函数参数 默认值_c++ 默认参数_c 函数默认参数

function Point(x = 0, y = 0) {
  this.x = x;
  this.y = y;
}
const p = new Point();
p // { x: 0, y: 0 }

除了简洁之外,ES6在编写方面还具有两个优点: 首先函数参数 默认值,阅读代码的人员可以立即意识到可以省略哪些参数,而无需查看功能主体或文档. 其次,它有利于将来的代码优化,即使是将来的版本也会在外部接口中完全删除此参数,并且不会导致以前的代码运行.


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-218684-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 于英敏
        于英敏

        千玺好样的

      • 陈明
        陈明

        也许美帝就是来溜一圈立马就滚出12海里

      热点图片
      拼命载入中...