【发布时间】:2018-11-26 10:56:35
【问题描述】:
术语“初始化”和“赋值”似乎可以互换使用。我做了一些搜索,似乎在技术上可能存在差异。我的理解是,在变量的上下文中,变量在 JavaScript 引擎使其可供使用和赋值时被初始化(无论是显式完成 [如let foo = 1;] 还是由 JavaScript 引擎完成,如下例所示)是实现这一目标的一种方法。
let foo;
console.log(foo); // undefined (initialization and assignment?)
我的理解正确吗?另外(如果是这样),在初始化期间实际发生了什么以使变量可用?
【问题讨论】:
-
你混淆了声明和初始化。第一个任务是初始化。声明使变量可用。
-
初始化和赋值不一样。初始化创建变量引用的内存内容。赋值只是让一个变量引用一些内存。
-
绑定是对 let 和 const 的提升——这和声明是一样的吗? (我认为关键字和变量名组成了一个声明)
标签: javascript computer-science