TypeScript 中 'Const' declarations must be initialized 错误
“const declarations must be initialized”错误发生在我们使用 const
声明一个变量但没有给它赋值时。 要解决该错误,请在声明变量的同一语句中指定一个值,或者改用 let
关键字。
下面是产生上述错误的一个示例。
// ⛔️ 'const' declarations must be initialized.ts(1155)
const arr: string[];
我们使用 const
关键字声明了 arr 变量,但没有为其赋值。
为了解决这个错误,我们必须在声明它的同一语句中为 const
变量赋值。
const arr: string[] = [];
我们分配给变量的值将取决于它的类型。
另一种解决方案是使用 let
关键字来声明变量。
let arr: string[];
arr = ['a', 'b'];
arr = ['c', 'd'];
console.log(arr); // 👉️ ['c', 'd']
当使用 let
关键字时,可以根据需要多次重新分配变量。
另一方面,不能重新分配使用
const
声明的变量,这就是为什么会出现“const declarations must be initialized”错误的原因。
如果你声明一个没有值的 const
变量,你实际上是在声明一个空变量,它不能被重新分配并在以后给定一个值,这一定是一个错误。
我们使用冒号为变量指定类型,使用等号为其赋值。
const obj: { name: string } = { name: 'James Doe' };
请注意
,使用const
声明的变量不能重新分配,但它们不是不可变的。
const obj: { name: string } = { name: 'James' };
obj['name'] = 'Carl';
console.log(obj); // 👉️ {name: 'Carl'}
// ⛔️ Error: Assignment to constant variable.
obj = { name: 'Alan' };
代码片段显示我们能够更改使用
const
声明的对象的值,但是尝试重新分配const
变量会导致错误 - “Assignment to constant variable”。
这是因为不允许重新分配或重新声明使用 const
关键字声明的变量。
总结
“const declarations must be initialized”错误发生在我们使用 const
声明一个变量但没有给它赋值时。 要解决该错误,请在声明变量的同一语句中指定一个值,或者改用 let
关键字。
相关文章
使用 ESLint 进行 TypeScript 导入排序
发布时间:2023/03/08 浏览次数:82 分类:编程语言
-
ESLint 是广泛使用的 linter 工具之一。它允许你轻松订购和构建你的导入部分。
在 TypeScript 中声明一个 ES6 Map
发布时间:2023/03/05 浏览次数:181 分类:WEB前端
-
本篇文章将指导我们使用编码示例在 TypeScript 中定义 ES6 Map。 这解释了什么是 ES6 Map及其用途。 让我们首先看看 ES6 是什么以及为什么使用它们。 ES6 Map 在 ES6 之前,我们使用对象通过将
如何在 TypeScript 中合并对象
发布时间:2023/02/20 浏览次数:217 分类:编程语言
-
使用扩展语法 ... 合并 TypeScript 中的对象,例如 const obj3 = { ...obj1, ...obj2} 。 最终对象的类型将被成功推断,因此尝试添加或删除属性会导致类型检查器显示错误。 const obj1 = { name : 迹忆
如何在 TypeScript 中对数组进行排序
发布时间:2023/02/15 浏览次数:196 分类:编程语言
-
在 TypeScript 中对 Numbers 数组进行排序 使用 sort() 方法对 TypeScript 中的数组进行排序,例如 numArray.sort((a, b) = a - b) 。 sort 方法采用定义排序顺序的函数作为参数。 在对数值数组进行排序
如何在 TypeScript 中扩展类型
发布时间:2023/02/15 浏览次数:230 分类:编程语言
-
在 TypeScript 中扩展类型 使用交集类型来扩展 TypeScript 中的类型,例如 type TypeB = TypeA {age: number;} 。交集类型使用 符号定义,用于组合现有对象类型。 我们可以根据需要多次使用 运算符
TypeScript 中如何创建 Date 日期对象
发布时间:2023/02/14 浏览次数:219 分类:编程语言
-
使用 Date 类型在 TypeScript 中键入 Date 对象,例如 const date: Date = new Date() 。 Date() 构造函数返回一个类型为 Date 的对象。 该接口定义了 Date 对象上所有内置方法的类型。 // ?️ const da
在 TS 中使用 {[key:string]: string} 和 {[key:string]: any}
发布时间:2023/02/14 浏览次数:125 分类:编程语言
-
TypeScript 中的 {[key: string]: string} 类型 {[key: string]: string} 语法是 TypeScript 中的索引签名,当我们事先不知道类型属性的所有名称但知道值的形状时使用。 索引签名指定字符串类型的键和