为什么我应该使用块范围而不是函数范围?

inf*_*rno 0 javascript ecmascript-6

功能范围对我来说非常好,已有20年了.现在我到处读,我应该使用letconst不是var.我想这主要是因为它是一个新功能.为什么我更喜欢块范围?

Ber*_*rgi 6

const具有明显的优势,它是一个恒定的约束.let有一个临时死区,禁止在同一范围内重新声明一个标识符,因此有助于防止某些错误.

除此之外,var当您不需要块范围时继续使用没有任何问题.

  • @Akxe:如果变量没有初始化,为什么还要问这个类型?我认为`let` case抛出的错误是一个特性. (4认同)