目录
Missing initializer in const declaration Error in JS
如果您在使用TypeScript时遇到错误,请单击第二个副标题。
Missing initializer in const declaration JS 错误
“Missing initializer in const declaration”错误发生在使用 声明变量时const
,但其值未在同一行上初始化。
要解决该错误,请在声明它的同一行上初始化该变量,例如const num = 30;
.
下面是错误如何发生的示例。
// ⛔️ Missing initializer in const declaration const country; // ⛔️ Missing initializer in const declaration const age; age = 30;
我们使用const关键字声明了一个变量
,但是,我们并没有在同一行中初始化它的值。
const
不能被重新赋值,所以我们必须在声明时设置它们的值。const name = 'bobby'; const age = 30; const arr = ['bobby', 'hadz', 'com'];
用于let
声明可以重新赋值的变量
如果您需要声明一个可以重新分配的变量,请改用
let
语句。
// ✅ let = can be reassigned let country; country = 'Chile'; // ✅ const = Set value upon declaration const age = 30;
使用声明的变量let
稍后可以在您的代码中重新分配。
Console
选项卡或 Node.js 终端中的错误消息。错误信息应该显示发生错误的文件和具体的行。
声明的变量let
不能重新声明
let
可以重新分配使用该语句声明的变量。但是,它们不能重新声明。
let country; // ⛔️ Identifier 'country' has already been declared let country = 'Chile';
我们试图重新声明该country
变量并出现错误。相反,
let
在重新分配使用声明的变量时省略关键字let
。
let age; age = 30; console.log(age); // 👉️ 30 age = 31; console.log(age); // 👉️ 31
使用时在同一行设置值const
如果您不需要重新分配变量,请const
在声明变量时使用关键字并设置其值。
// ✅ Works const country = 'Chile'; // ⛔️ Error: Assignment to constant variable country = 'Brazil';
const
不能重新分配使用关键字声明的变量。使用const
让代码的读者知道以后不会重新分配此变量。
关键字const
不会使对象和数组不可变
请注意,const
关键字不会使对象或数组不可变,它只是阻止您重新分配变量。
// 👇️ can change the contents of an array declared using const const arr = ['bobby', 'hadz']; arr[0] = 'xyz'; console.log(arr); // 👉️ [ 'xyz', 'hadz' ] // --------------------------------------------- // 👇️ can change the contents of an object declared using const const obj = {name: 'bobby'}; obj['name'] = 'alice'; console.log(obj); // 👉️ { name: 'alice' }
我们仍然可以更改使用 声明的数组或对象的内容
const
,但是,我们不能重新声明或重新分配变量。
‘Const’ 声明必须在 TypeScript 中初始化
“const declarations must be initialized”错误出现在我们声明一个变量usingconst
但不给它赋值时。
要解决该错误,请在声明变量的同一语句中指定一个值,或改用关键字let
。
下面是错误如何发生的示例。
// ⛔️ 'const' declarations must be initialized.ts(1155) const arr: string[];
我们arr
使用
const
关键字声明变量,但没有为其赋值。
const
为了解决这个错误,我们必须在声明它的同一语句中为变量赋值。
const arr: string[] = [];
您分配给变量的值将取决于它的类型。
使用let
关键字解决错误
另一种解决方案是使用
let
关键字来声明您的变量。
let arr: string[]; arr = ['bobby', 'hadz']; arr = ['.', 'com']; console.log(arr); // 👉️ ['.', 'com']
使用let
关键字时,可以根据需要多次重新分配变量。
const
不能被重新赋值,这就是为什么会出现“const declarations must be initialized”错误的原因。如果你声明一个const
没有值的变量,你实际上是在声明一个空变量,它不能被重新分配并在以后被赋予一个值,这一定是一个错误。
我们使用冒号为变量指定类型,使用等号为其赋值。
const obj: { name: string } = { name: 'Bobby Hadz' };
请注意,不能重新分配使用声明的变量const
,但它们不是不可变的。
const obj: { name: string } = { name: 'Bobby Hadz' }; obj['name'] = 'Carl'; console.log(obj); // 👉️ {name: 'Carl'} // ⛔️ Error: Assignment to constant variable. obj = { name: 'Alan' };
代码示例显示我们能够更改使用 声明的对象的值const
,但是,尝试重新分配const
变量会导致错误。
这是因为不允许重新分配或重新声明使用const
关键字声明的变量。
额外资源
您可以通过查看以下教程来了解有关相关主题的更多信息: