您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關let和const有哪些區別,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
區別:let聲明的變量可以改變,值和類型都可以改變;而const聲明的常量不可以改變,這意味著,const一旦聲明,就必須立即初始化,不能以后再賦值。
let和const的不同點:
① let聲明的變量可以改變,值和類型都可以改變;const聲明的常量不可以改變,這意味著,const一旦聲明,就必須立即初始化,不能以后再賦值。
const i ; // 報錯,一旦聲明,就必須立即初始化 const j = 5; j = 10; // 報錯,常量不可以改變
② 數組和對象等復合類型的變量,變量名不指向數據,而是指向數據所在的地址。const只保證變量名指向的地址不變,并不保證該地址的數據不變,所以將一個復合類型的變量聲明為常量必須非常小心。
const arr = []; // 報錯,[1,2,3]與[]不是同一個地址 arr = [1,2,3]; const arr = []; // 不報錯,變量名arr指向的地址不變,只是數據改變 arr[0] = 1; arr[1] = 2; arr[2] = 3; console.log(arr.length); // 輸出:3
若想讓定義的對象或數組的數據也不能改變,可以使用object.freeze(arr)進行凍結。凍結指的是不能向這個對象或數組添加新的屬性,不能修改已有屬性的值,不能刪除已有屬性。
const arr = []; Object.freeze(arr); // 不報錯,但數據改變無效 arr[0] = 1; arr[1] = 2; arr[2] = 3; console.log(arr.length); // 輸出:0
let和const的相同點:
① 只在聲明所在的塊級作用域內有效。
② 不提升,同時存在暫時性死區,只能在聲明的位置后面使用。
③ 不可重復聲明。
關于“let和const有哪些區別”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。