作用域是什么
传统的编译语言的流程中,程序中的一段源代码在执行之前会经历三个步骤,统称为“编译”
比起那些编译过程只有三个步骤的语言的编译器,javascript引擎要复杂的多。
LHS与RHS
赋值操作的目标是谁(LHS)以及谁是赋值操作的源头(RHS)
理解编译器/引擎/作用域的关系
作用域是根据名称查找变量的一套规则。
异常
为何需要区分LHS和RHS?
ReferenceError同作用域判别失败相关,而TypeError则代表作用域判别成功了,但是对结果的操作是非法或者是不合理的。