Require Spaces Around Infix Operators (space-infix-ops)
While formatting preferences are very personal, a number of style guides require spaces around operators, such as:
var sum = 1 + 2;
The proponents of these extra spaces believe it make the code easier to read and can more easily highlight potential errors, such as:
var sum = i+++2;
While this is valid JavaScript syntax, it is hard to determine what the author intended.
Fixable: This rule is automatically fixable using the --fix
flag on the command line.
Rule Details
This rule is aimed at ensuring there are spaces around infix operators.
Options
This rule accepts a single options argument with the following defaults:
"space-infix-ops": [2, {"int32Hint": false}]
int32Hint
Set the int32Hint
option to true
(default is false
) to allow write a|0
without space.
var foo = bar|0; // `foo` is forced to be signed 32 bit integer
The following patterns are considered problems:
/*eslint space-infix-ops: 2*/
/*eslint-env es6*/
a+b /*error Infix operators must be spaced.*/
a+ b /*error Infix operators must be spaced.*/
a +b /*error Infix operators must be spaced.*/
a?b:c /*error Infix operators must be spaced.*/
const a={b:1}; /*error Infix operators must be spaced.*/
var {a=0}=bar; /*error Infix operators must be spaced.*/
function foo(a=0) { } /*error Infix operators must be spaced.*/
The following patterns are not considered problems:
/*eslint space-infix-ops: 2*/
/*eslint-env es6*/
a + b
a + b
a ? b : c
const a = {b:1};
var {a = 0} = bar;
function foo(a = 0) { }
Version
This rule was introduced in ESLint 0.2.0.