在不初始化的情况下在javascript中声明const变量

时间:2020-01-22 23:45:24

标签: javascript constants

根据我的理解,在javascript中,我们可以使用let和var关键字声明变量,然后再为其分配值。

var a;
a = 5;

但是,当我使用const关键字尝试相同的方法时,它不起作用。

const a;
Uncaught SyntaxError: Missing initializer in const declaration

我了解我的问题有一个基本矛盾,因为const关键字用于存储不可变变量。因此,良好的编码习惯可能要求在声明时对其进行初始化。

但是,我想将全局值存储在API提取的const变量中。因此,我想知道是否有办法为javascript中的预声明const变量赋值?

4 个答案:

答案 0 :(得分:2)

const适用于变量,而不适用于值。您必须对其进行初始化,因为以后无法分配它们-这是它们唯一的区别。您不能拥有只能分配一次但不能重新分配的变量。

如果结果是一个对象,则可以声明该常量以容纳一个空对象,然后使用Object.assign()将其与API响应一起填写。

const result = {};
fetch(...).then(response => response.json()).then(data => Object.assign(result, data));

答案 1 :(得分:0)

有两种方法可以创建具有默认值的const,如下面所示,可以创建1个具有可变属性的对象,2个数组。

const a = {};
cosnt b = [];

答案 2 :(得分:0)

您不能这样做,至少不能在运行时这样做。建议您考虑使用具有readonly修饰符的TypeScript,该修饰符将帮助您防止变量在编译时被覆盖。在编译时

答案 3 :(得分:0)

我认为您不能那样做。在JavaScript中,必须在声明const变量时为其赋值:

不正确

const PI;
PI = 3.14159265359;

正确

const PI = 3.14159265359;

有关更多参考,您可以查看一下,为您提供更好的解释

https://www.w3schools.com/js/js_const.asp

相关问题