术语“初始化”和“赋值”似乎可以互换使用。我做了一些搜索,似乎技术上可能存在差异。我的理解是,在变量的上下文中,当 JavaScript 引擎使其可供使用时,变量就会被初始化,而赋值(无论是显式完成 [如let foo = 1;] 还是由 JavaScript 引擎完成,如下例所示)是一种方法为了达成这个。
let foo;
console.log(foo); // undefined (initialization and assignment?)
Run Code Online (Sandbox Code Playgroud)
我的理解正确吗?另外(如果是这样),在初始化过程中实际发生了什么以使变量可用?