javascript - 返回一个值而不将其存储到变量中是否被认为是不好的做法?

标签 javascript

<分区>

给定以下函数:

  function lamePathValidator(path) {
    if (typeof path !== 'string') {
      throw new TypeError(`Invalid path "${path}": should be a string.`);
    }

    return path;
  }

如果偶尔使用它而不将返回值存储到变量,是否被认为是不好的做法?

...
lamePathValidator('./data');
...

编辑:我需要返回值的唯一用例是构造函数中的属性分配,例如:

constructor(basepath) {
  this._basepath = this._validatePath(basepath);
}

我当然可以写:

constructor(basepath) {
  this._validatePath(basepath)
  this._basepath = basepath;
}

虽然前一个 block 更简洁。

编辑#2: 我还可以将构造函数参数传递给 _validateAll(params) 函数,因为它们实际上都没有以任何方式被改变。毕竟是“验证”,而不是“ sanitizer ”。 :)

最佳答案

有很多函数返回的数据并不总是有用,但有时有用。在这些情况下,当您不需要时不存储输出是有意义的。

但是,如果返回值永远不会有用,那么您一开始就不应该返回它。在您的示例函数中,路径没有改变,因此没有理由返回它,调用代码已经有了它。

关于javascript - 返回一个值而不将其存储到变量中是否被认为是不好的做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39415996/

相关文章:

javascript - Google map - 直接从 javascript 调用 API 与使用 SDK

javascript - 正则表达式:逗号分隔值

javascript - 对象到数组将键保留为第一个元素

javascript - JavaScript 中的确认()

javascript - meteor 如何在电子邮件中发送HTML正文?

javascript - ">>>"operator - 有什么用?

javascript - HTML 表格换行列

javascript - 删除行后,已删除行下的 DataTables 行变得未定义

javascript - 这不会访问 http 响应对象 :property does not exist on type Object

javascript - 将 nicedit.js 的颜色选择器更改为 photoshop 之类的