Недавно я быстро сокращал имена некоторых методов в файле JavaScript и столкнулся с проблемой, когда преобразовал одно имя метода:
Перед:
RefreshSevenDayGrid(){
// some stuff
}
После:
7Day() {
// some stuff
}
Я быстро обнаружил, что javascript больше не работает. Я слышал от нескольких людей, что числа никогда не следует использовать для имен методов или классов. Есть ли из этого исключения?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Это имеет тенденцию вызывать припадки для языковых парсеров. Он видит начальную цифру, поэтому ожидает, что начнет читать числовой литерал, а затем отключается, когда видит букву. Даже по алгебраическому соглашению число слева от буквы представляет собой отдельный числовой литерал с опущенным пробелом, поэтому 7x будет рассматриваться как два токена.
Помимо того, что сказал Джеффри Хантин, существуют числовые константы, такие как
3e7 // 3x10^7
40L // C, C++, etc for a long integer
0x88 // hexadecimal
Общее соглашение для идентификаторов, которое широко используется в большинстве языков, - [S except for 0-9][S]*, где S - некоторый набор допустимых символов (AZ, az, 0-9, иногда _, $ или -), поэтому первый символ не может быть цифра, а остальные могут.