发帖  主题  评论  推荐  标签 用户 查搜   用户 密码 自动 注册  
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 大数据 扩展性 并发编程 事件驱动 分布式 CQRS

如何确保Javascript函数有参数?

  Javascript中函数参数如果为空,我们需要使用if语句进行是否为空的判断,然后同时抛错,这种比较low的检查可能会遍布很多函数中,ES6提供的参数默认值为我们优雅解决了这个问题:

  function misparam() {
        throw new Error('没有参数');
    }
    function foo(mustBeProvided = misparam()) {
        return mustBeProvided;
    }

当调用foo这个函数没有提供参数时,misparam()才会被调用。

> foo()
Error: 没有参数
> foo(456)
456

而如果是传统检查方式,则代码繁琐如下:

function foo(mustBeProvided) { 
    if (arguments.length < 1) {
        throw new Error();
    }
    if (! (0 in arguments)) { 
        throw new Error();
    }
    if (mustBeProvided === undefined) { 
        throw new Error();
    }
    ··· 
} 

除此以外,还可以使用下面写法实现可选参数:

function foo(requiredParam, optionalParam = undefined) {      ···  }

optionalParam表示可选参数,可以使用,可以不用。而requiredParam是正常必须的。

Javascript6/ES6小技巧

 

解道移动版 | 关注解道 | 联系解道 | 关于解道 | 广告联系 | 网站地图 | 设为首页

沪ICP证12033263 如有意见请与我们联系 Powered by JdonFramework
返回顶部