首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

newline-before-return

--fix命令行上的选项可以自动修复一些被这条规则反映的问题。

此规则在ESLint v4.0.0 中已弃用,并由填充行间语句规则取代。

关于空行是否应该return放在JavaScript语句之前,并没有硬性规定。但是,清楚地描述函数返回的位置可以大大提高代码的可读性和清晰度。例如:

代码语言:javascript
复制
function foo(bar) {
  var baz = 'baz';
  if (!bar) {
    bar = baz;
    return bar;
  }
  return bar;
}

添加新行显然将返回语句与前面的行分开,从而明确了函数退出的位置以及它返回的值:

代码语言:javascript
复制
function foo(bar) {
  var baz = 'baz';

  if (!bar) {
    bar = baz;

    return bar;
  }

  return bar;
}

规则细节

此规则在return语句前需要一个空行来增加代码清晰度,除非return单独在语句组内(例如if语句)。在后一种情况下,return声明不需要单独描述。评论被忽略,不计为空行。

此规则的错误代码示例:

代码语言:javascript
复制
/*eslint newline-before-return: "error"*/

function foo(bar) {
    if (!bar) {
        return;
    }
    return bar;
}

function foo(bar) {
    if (!bar) {
        return;
    }
    /* multi-line
    comment */
    return bar;
}

此规则的正确代码示例:

代码语言:javascript
复制
/*eslint newline-before-return: "error"*/

function foo() {
    return;
}

function foo() {

    return;
}

function foo(bar) {
    if (!bar) return;
}

function foo(bar) {
    if (!bar) { return };
}

function foo(bar) {
    if (!bar) {
        return;
    }
}

function foo(bar) {
    if (!bar) {
        return;
    }

    return bar;
}

function foo(bar) {
    if (!bar) {

        return;
    }
}

function foo() {

    // comment
    return;
}

何时不使用它

如果在return语句前没有关于空格的严格约定,则可以安全地禁用此规则。

相关规则

  • newline-after-varVersion此规则是在ESLint 2.3.0.Resources中引入的

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com