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
关键字。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。