Do not use magic numbers when manipulating strings
It's quite often that we pass the index parameter when using string manipulation functions such as `slice`
, `splice`
, `substr`
or `substring`
.
Given a `date`
object, we can get the string representing the date in the ISO format:
The output is constructed by different parts which starts with the full date, `2021-03-09`
as we see in the example above.
So, it's easy to get the full date by extracting it from the ISO format:
const format = (date) => date.toISOString().slice(0, 10);
`10`
is called a magic number, because when the other people look at the code, they don't have idea where the number comes from.
Rather than using a magic number, it's recommended to explain what it is and how it's calculated:
const FULL_DATE_LENGTH = 'YYYY-MM-DD'.length;
const format = (date) => date.toISOString().slice(0, FULL_DATE_LENGTH);
See also