require spacing around infix operators (space-infix-ops)

The --fix option on the command line automatically fixes problems reported by this rule.

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.

Rule Details

This rule is aimed at ensuring there are spaces around infix operators.


This rule accepts a single options argument with the following defaults:

"space-infix-ops": ["error", {"int32Hint": false}]


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: "error"*/
/*eslint-env es6*/


a+ b

a +b


const a={b:1};

var {a=0}=bar;

function foo(a=0) { }

The following patterns are not considered problems:

/*eslint space-infix-ops: "error"*/
/*eslint-env es6*/

a + b

a       + b

a ? b : c

const a = {b:1};

var {a = 0} = bar;

function foo(a = 0) { }


This rule was introduced in ESLint 0.2.0.