- global Scope
- local Scope / function scope
之後有了第三種:
- Block Scope
在大括號中使用 let 宣告的變數,外面不可使用。
{
let name = 'Shawn';
}
// name 不可在這使用
解決了什麼問題
- 重新宣告的問題
var name = 'Ray';
{
var name = 'Shawn';
}
// name 在這邊會變成Shawn
------------------------------------------
var name = 'Ray';
{
let name = 'Shawn';
}
// name 在這邊會保持原本的Ray
- Hoisting的問題
用 let 必須先宣告才能使用
沒有留言:
張貼留言