ES6 let,const 用法雜談

2021-08-17 18:47:19 字數 1078 閱讀 4014

es6    => ecma 標準  =>發布於2023年6月

作用域:  

var   全域性

let    函式作用域    也叫塊級作用域   用{}表示

let使用注意點:

1.沒有預解析,不存在變數提公升。

例:如果console.log(a)在我們定義的let a 之前的話就報錯,而var 定義的則是undefined.

console.log(a)  //直接報錯

let a=10;

--------------------------------

console.log(a) //undefined

var a=10;

2.在同乙個作用域裡面(同乙個{}內),不能重複定義變數。

例:下面這種會直接報錯,如果換成是 var 的話 ,則下面的會替換上面的。

3.父子作用域的概念。

例:()裡面為父作用域,{}裡面為子作用域 ,所以這裡有2個let並不會報錯,可以想象成我下面寫的另一種寫法。

for  ,if ,while等都是這樣理解。

for(let i=0;i<10;i++)裡面為子作用域

console.log(i) // i=1111

}//以上的內容可以理解為

}

1. const 定義變數的時候必須賦值,不能過後再賦值,且不能修改賦值。

例:下面2種情況都會報錯

const a;      // 情況1:報錯
const a = 10 ;  // 情況2:報錯

a = 5;

但是如果a為物件的話就可以修改,如下例子,為什麼能修改呢?因為物件是引用值。

const a = ['2','3'];

a.push('4');

console.log(a) //  ["2", "3", "4"]

如果我們想讓a徹底不能被修改 , 可以設定object.freeze(物件)。

前端基礎ES6 let const

let具有作用域的 示例 lang en charset utf 8 name viewport content width device width,initial scale 1.0 documenttitle head var 宣告的變數往往會越域 let宣告的變數有嚴格的作用域 consol...

ES6 let const與作用域

一 let1.1 學習let,首先我們來看一段 function test console.log i 3 test 複製 這組 中,我們使用的是var來宣告變數來迴圈,所以在迴圈內列印出1,2。在迴圈外列印出3,這個應該都是可以理解的。下面來看下let的區別 function test conso...

es6 let const和var最完美的解釋

一壺茶 一首歌 勾起了我想寫文章的熱情,今天就談一談es6裡變數宣告的方式的區別吧 首先宣告變數的常用方式有var let const三種 結合var來解釋一下let cosnt 1.使用let const宣告的變數只在塊級作用與有效 var 不是 2.使用let const 宣告的變數在當前作用域...