1. 程式人生 > >let 關鍵字和 const 關鍵字

let 關鍵字和 const 關鍵字

第一次 作用域 方式 ted test 不同的 一點 es6 ole

在 ES6 中,提供了 let 關鍵字和 const 關鍵字。

let 的聲明方式與 var 相同,用 let 來代替 var 來聲明變量,就可以把變量限制在當前代碼塊中。

使用 const 聲明的是常量,其值一旦被設定便不可被更改。

let 允許你聲明一個作用域被限制在塊級中的變量、語句或者表達式。與var關鍵字不同的是,它聲明的變量只能是全局或者整個函數塊的。

let 語法:

let var1 [= value1] [, var2 [= value2]] [, ..., varN [= valueN]];

let 聲明的變量只在其聲明的塊或子塊中可用,這一點,與 var 相似。二者之間最主要的區別在於 var 聲明的變量的作用域是整個封閉函數。

let 和 var 的區別代碼實例:

function varTest() {
  var x = 1;
  if (true) {
    var x = 2;  // 同樣的變量!
    console.log(x);  // 2
  }
  console.log(x);  // 2
}

function letTest() {
  let x = 1;
  if (true) {
    let x = 2;  // 不同的變量
    console.log(x);  // 2
  }
  console.log(x);  // 1
}


函數內未聲明即使用的變量情況:

function func(){
  undefined_var=110
}

在 func() 被第一次調用之前, undefined_var 變量是不存在的即 undefined。func() 被調用過之後,undefined_var 成為全局變量。

 

let 關鍵字和 const 關鍵字