SyntaxError: missing = in const declaration

当 const 声明在同一语句中没有被赋予值时(例如 const RED_FLAG;),就会出现 JavaScript 异常 "const 声明缺少 ="。你需要提供一个值(const RED_FLAG = true)。

消息

SyntaxError: Missing initializer in const declaration (V8-based)
SyntaxError: missing = in const declaration (Firefox)
SyntaxError: Unexpected token ';'. const declared variable 'x' must have an initializer. (Safari)

错误类型

SyntaxError

哪里出错了?

常量是一个在程序正常执行期间不能被程序修改的值。它不能通过重新赋值来改变,也不能被重新声明。在 JavaScript 中,常量使用 const 关键字声明。常量需要一个初始化器;也就是说,你必须在声明它的同一语句中指定它的值(这很有道理,因为它以后不能被改变)。

示例

缺少 const 初始化器

varlet 不同,你必须为 const 声明指定一个值。这会抛出

js
const COLUMNS;
// SyntaxError: missing = in const declaration

修复错误

有多种方法可以修复此错误。检查此常量旨在实现什么。

添加常量值

在声明常量的同一语句中指定常量值

js
const COLUMNS = 80;

constlet 还是 var

如果你不打算声明一个常量,请不要使用 const。也许你打算使用 let 声明一个块级作用域变量,或者使用 var 声明一个全局变量。两者都不需要初始值。

js
let columns;

另见