'Magic numbers' are numbers that occur multiple time in code without an explicit meaning. They should preferably be replaced by named constants.
var now = Date.now(),
inOneHour = now + (60 * 60 * 1000);
The no-magic-numbers
rule aims to make code more readable and refactoring easier by ensuring that special numbers
are declared as constants to make their meaning explicit.
The following pattern is considered a problem:
/*eslint no-magic-numbers: 2*/
var dutyFreePrice = 100,
finalPrice = dutyFreePrice + (dutyFreePrice * 0.25); /*error No magic number: 0.25*/
The following pattern is considered okay:
/*eslint no-magic-numbers: 2*/
var TAX_PERCENTAGE = 0.25;
var dutyFreePrice = 100,
finalPrice = dutyFreePrice + (dutyFreePrice * TAX_PERCENTAGE);
An array of numbers to ignore. It's set to []
by default.
If provided, it must be an Array
.
A boolean to specify if we should check for the const keyword in variable declaration of numbers. false
by default.
A boolean to specify if we should detect numbers when setting object properties for example. false
by default.