您好,登錄后才能下訂單哦!
前言
眾所周知es6是ECMAScript 6.0(以下簡稱 ES6)是 JavaScript 語言的下一代標準,已經在2015年6月正式發布了。它的目標,是使得 JavaScript 語言可以用來編寫復雜的大型應用程序,成為企業級開發語言。
它完善了ES5的命名規范,它又重新發布了兩個新的命名變量的方式:let和const,但是let聲明的變量只在它所在的代碼塊有效。
本文將給大家介紹關于ES6變量命名的兩種方法,下面話不多說,來一起看看詳細的介紹:
let a = 10; var b = 1; } a // ReferenceError: a is not defined. b // 1
1、for循環的計數器,就很適合let,比如我之前遇到一個問題,就是一個ul中有很多li,要想點擊每個li時都獲取到哪個li的下標
for (let i = 0,len=obj.length; i < len; i++) { obj[i].addEventListener("click",function (){ console.log(i) },false); }
var 在for循環中循環一個對象后得到最后那個對象的長度,而let很好的解決了那個問題,并且訪問每個li的索引。
2、不存在變量提升
var命令會發生”變量提升“現象,即變量可以在聲明之前使用,值為undefined。這種現象多多少少是有些奇怪的,按照一般的邏輯,變量應該在聲明語句之后才可以使用。
為了糾正這種現象,let命令改變了語法行為,它所聲明的變量一定要在聲明后使用,否則報錯。
// var 的情況 console.log(foo); // 輸出undefined var foo = 2; // let 的情況 console.log(bar); // 報錯ReferenceError let bar = 2;
const聲明一個只讀的常量。一旦聲明,常量的值就不能改變。
const PI = 3.1415; PI // 3.1415 PI = 3; // TypeError: Assignment to constant variable.
const聲明的變量不得改變值,這意味著,const一旦聲明變量,就必須立即初始化,不能留到以后賦值。
對于const來說,只聲明不賦值,就會報錯。
const的作用域與let命令相同:只在聲明所在的塊級作用域內有效。
總結
以上就是這篇文章的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。