--- title: 'Внимание: 08/09 не является восьмеричной постоянной по ECMA-262' slug: Web/JavaScript/Reference/Errors/Bad_octal tags: - Ошибки - Предупреждения - Синтаксические ошибки translation_of: Web/JavaScript/Reference/Errors/Bad_octal ---
{{jsSidebar("Errors")}}

Сообщение

Внимание: Синтаксическая ошибка: 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;

Смотрите также