2019年3月18日 星期一

[Back To Basic] Javascript - Let

在ECMAScript 2015出來之前,變數的 Scope 只有二種:
  • 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 必須先宣告才能使用

瀏覽器支援: IE11以前不支援 let

沒有留言:

張貼留言