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`.
Let's take a look at a simple example which converts a given date object to YYYY-MM-DD format.
Given a `date` object, we can get the string representing the date in the ISO format:
date.toISOString();
// '2021-03-09T01:42:46.002Z'
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:
// The better version
const FULL_DATE_LENGTH = 'YYYY-MM-DD'.length;
const format = (date) => date.toISOString().slice(0, FULL_DATE_LENGTH);

See also