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 宣告的變數在當前作用域...