版本

space-before-function-parentheses

强制函数定义中左括号前后的空格保持一致。

在格式化函数时,函数名或 function 关键字与左括号之间允许有空格。命名函数在 function 关键字和函数名之间也需要空格,但匿名函数不需要空格。例如

function withoutSpace(x) {
    // ...
}

function withSpace (x) {
    // ...
}

var anonymousWithoutSpace = function() {};

var anonymousWithSpace = function () {};

风格指南可能要求匿名函数的 function 关键字后有空格,而另一些则指定没有空格。同样,函数名后的空格可能是必需的,也可能不是必需的。

规则详情

此规则旨在强制函数括号前后的空格保持一致,因此,当空格与指定的首选项不匹配时,会发出警告。

此规则接受一个参数。如果它是 "always",这是默认选项,则所有命名函数和匿名函数都必须在函数括号前有空格。如果 "never",则所有命名函数和匿名函数都不得在函数括号前有空格。如果您希望命名函数和匿名函数有不同的空格,您可以将配置对象作为规则参数传递以分别配置它们(例如 {"anonymous": "always", "named": "never"})。

使用默认 "always" 选项时,此规则的错误代码示例

function foo() {
    // ...
}

var bar = function() {
    // ...
};

var bar = function foo() {
    // ...
};

class Foo {
    constructor() {
        // ...
    }
}

var baz = {
    bar() {
        // ...
    }
};

使用默认 "always" 选项时,此规则的正确代码示例

function foo () {
    // ...
}

var bar = function () {
    // ...
};

var bar = function foo () {
    // ...
};

class Foo {
    constructor () {
        // ...
    }
}

var baz = {
    bar () {
        // ...
    }
};

使用 "never" 选项时,此规则的错误代码示例

function foo () {
    // ...
}

var bar = function () {
    // ...
};

var bar = function foo () {
    // ...
};

class Foo {
    constructor () {
        // ...
    }
}

var baz = {
    bar () {
        // ...
    }
};

使用 "never" 选项时,此规则的正确代码示例

function foo() {
    // ...
}

var bar = function() {
    // ...
};

var bar = function foo() {
    // ...
};

class Foo {
    constructor() {
        // ...
    }
}

var baz = {
    bar() {
        // ...
    }
};

使用 {"anonymous": "always", "named": "never"} 选项时,此规则的错误代码示例

function foo () {
    // ...
}

var bar = function() {
    // ...
};

class Foo {
    constructor () {
        // ...
    }
}

var baz = {
    bar () {
        // ...
    }
};

使用 {"anonymous": "always", "named": "never"} 选项时,此规则的正确代码示例

function foo() {
    // ...
}

var bar = function () {
    // ...
};

class Foo {
    constructor() {
        // ...
    }
}

var baz = {
    bar() {
        // ...
    }
};

使用 {"anonymous": "never", "named": "always"} 选项时,此规则的错误代码示例

function foo() {
    // ...
}

var bar = function () {
    // ...
};

class Foo {
    constructor() {
        // ...
    }
}

var baz = {
    bar() {
        // ...
    }
};

使用 {"anonymous": "never", "named": "always"} 选项时,此规则的正确代码示例

function foo () {
    // ...
}

var bar = function() {
    // ...
};

class Foo {
    constructor () {
        // ...
    }
}

var baz = {
    bar () {
        // ...
    }
};

何时不使用

如果您不关心函数括号前空格的一致性,则可以关闭此规则。

版本

此规则在 ESLint v0.15.0 中引入,并在 v1.0.0-rc-1 中移除。

更改语言