2019年3月13日 星期三

[Back To Basic] Javascript - Hoisting

Hoisting是一種javascript的語言特性,javascript會把宣告移到當下的scope的最上方。
也就是說

  • 可以在使用變數後才宣告
  • 變數可以在宣告前使用

let 和 const

使用這2種宣告方式,就不會發生 hoisting。

只有宣告會 Hoisting,初始值不會 Hoisting

e.g.
console.log(age); // age = undefined
var age = 18;

Note

務必宣告所有變數在所屬的Scope的最上方,避免不知道的人製造bug

使用嚴格模式就可以,不允許變數在宣告前使用(取消hoisting的特性)

沒有留言:

張貼留言