Movatterモバイル変換


[0]ホーム

URL:


  1. 面向开发者的 Web 技术
  2. JavaScript
  3. JavaScript 参考
  4. JavaScript 错误参考
  5. SyntaxError: "0"-prefixed octal literals are deprecated

此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in EnglishAlways switch to English

SyntaxError: "0"-prefixed octal literals are deprecated

仅在 JavaScript严格模式下出现的异常“0-prefixed octal literals are deprecated; use the "0o" prefix instead”在使用了已被弃用的八进制字面量(0 后跟数字)时出现。

错误提示

SyntaxError: Octal literals are not allowed in strict mode. (V8-based)SyntaxError: Decimals with leading zeros are not allowed in strict mode. (V8-based)SyntaxError: Unexpected number (V8-based)SyntaxError: "0"-prefixed octal literals are deprecated; use the "0o" prefix instead (Firefox)SyntaxError: Decimal integer literals with a leading zero are forbidden in strict mode (Safari)

错误类型

语法错误(SyntaxError),只出现于严格模式下。

哪里出错了?

八进制字面量已被弃用。在十进制整数前加上0 时,实际上会将其转换为八进制字面量,这可能会令人感到惊讶。标准化的语法使用前导零后跟一个小写或大写的拉丁字母“O”(0o0O)。

前导零总是被禁止的,即使字面量不是有效的八进制字面量语法(例如字面量包含数字89,或者有小数点)。数字字面量仅在其值为 0 时才能以0 开头。

示例

前导“0”形式的八进制字面量

js
"use strict";03;// SyntaxError: "0"-prefixed octal literals are deprecated; use the "0o" prefix instead

有效的八进制数字

使用前导零后跟字母“o”或“O”:

js
0o3;

参见

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp