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 初始化器
与 var 或 let 不同,你必须为 const 声明指定一个值。这会抛出
js
const COLUMNS;
// SyntaxError: missing = in const declaration
修复错误
有多种方法可以修复此错误。检查此常量旨在实现什么。
添加常量值
在声明常量的同一语句中指定常量值
js
const COLUMNS = 80;
const、let 还是 var?
如果你不打算声明一个常量,请不要使用 const。也许你打算使用 let 声明一个块级作用域变量,或者使用 var 声明一个全局变量。两者都不需要初始值。
js
let columns;