Внимание: 08/09 не является восьмеричной постоянной по ECMA-262
Сообщение
Внимание: Синтаксическая ошибка: 08 не является восьмеричной постоянной по ECMA-262. Внимание: Синтаксическая ошибка: 09 не является восьмеричной постоянной по ECMA-262.
Тип ошибки
Предупреждение. Выполнение JavaScript не будет остановлено.
Что пошло не так?
Десятеричные литералы могут начинаться с нуля (0
), за которым следуют другие десятеричные цифры. Но, если все цифры после начального нуля (0
) меньше 8, то число интерпретируется как восьмеричное. Т.к. 08 и 09 не соответствуют данному условию, JavaScript выводит предупреждение об этом.
Следует отметить, что восьмеричные литералы и восьмеричные управляющие последовательности являются устаревшими и будут содержать дополнительное предупреждение об этом. С выпуском ECMAScript 6 версии в синтаксисе используется начальный нуль (0
), за которым следует строчная или прописная Латинская буква "O" (0o
или 0O)
. Дополнительную информацию смотрите на странице о лексической грамматике.
Примеры
Недопустимые восьмеричные числа
08;
09;
// Синтаксическая ошибка: 08 не является восьмеричной постоянной по ECMA-262.
// Синтаксическая ошибка: восьмеричные литералы с "0"-префиксом и восьмеричные управляющие последовательности
// являются устаревшими
Допустимые восьмеричные числа
Используйте начальный нуль, за которым следует буква «o»;
0O755;
0o644;