在javascript中声明常量变量而不进行初始化
根据我的理解,在javascript中,我们可以用let和var关键字声明变量,然后为其赋值在javascript中声明常量变量而不进行初始化,javascript,constants,Javascript,Constants,根据我的理解,在javascript中,我们可以用let和var关键字声明变量,然后为其赋值 var a; a = 5; 但是,当我使用const关键字尝试相同的方法时,它不起作用 const a; Uncaught SyntaxError: Missing initializer in const declaration 我理解我的问题有一个基本矛盾,因为const关键字用于存储不可变变量。因此,良好的编码实践可能要求在声明时对其进行初始化 但是,我希望将全局值存储在由API获取的常量变量
var a;
a = 5;
但是,当我使用const关键字尝试相同的方法时,它不起作用
const a;
Uncaught SyntaxError: Missing initializer in const declaration
我理解我的问题有一个基本矛盾,因为const关键字用于存储不可变变量。因此,良好的编码实践可能要求在声明时对其进行初始化
但是,我希望将全局值存储在由API获取的常量变量中。所以,我想知道是否有一种方法可以在javascript中为预先声明的常量变量赋值?有两种方法可以创建一个具有默认值的常量,一个具有可变属性的对象,两个数组,如下面所示
const a = {};
cosnt b = [];
const
应用于变量,而不是值。您必须初始化它们,因为以后无法分配它们——这是它们唯一的区别。不能只分配一次变量,而不能重新分配
如果结果是一个对象,则可以声明该常量以保存一个空对象,然后使用object.assign()
用API响应填充它
const result = {};
fetch(...).then(response => response.json()).then(data => Object.assign(result, data));
您不能这样做,至少在运行时不能这样做。我建议您考虑使用Type Script,它具有<代码> Read Ont/Cuff>修饰符,这将有助于保护您的变量在编译时< <强> > > < P>我认为您不能这样做。在JavaScript中,声明常量变量时必须为其赋值: 不正确
const PI;
PI = 3.14159265359;
正确的
const PI = 3.14159265359;
为了获得更多的参考,你可以看看这个,这会给你一个更好的解释
这有什么意义?不能重新分配
常量
变量。如果你声明它时没有值,你以后怎么给它一个值呢?你可能会想declare
const
并不意味着值是不可变的,它意味着变量是不可变的。我同意你的观点,这可能不是正确的做法。然而,我想知道是否有一种聪明的方法可以将api在vanilla javascript中获取的值存储为常量全局变量。解决这个问题的正确方法是将响应的承诺存储在全局常量中。更改为“填充”。并且考虑到数组是一个对象……是的,没有什么可遗憾的。