本文實例講述了ES6新特性中的let和const命令。分享給大家供大家參考,具體如下:
1. let 命令
① 在js中是沒有塊級作用域的,var 聲明的變量作用域是整個函數體,而let可以起到這一作用
{ let a = 1; var b = 2;}console.log(b); // 2console.log(a); // a is not defind② 而let可以起到這一作用啊在js中變量和函數的聲明會提升到當前作用域最頂部執行。這樣就會出現問題。
var a = [];//函數和變量i會最先進行聲明,同時全局變量i經過for循環賦值為10for (var i = 0; i < 10; i++) { a[i] = function () { console.log(i); };}console.log(i);//10a[6]();//10而使用let就解決了這個問題
for (let i = 0; i < 10; i++) { a[i] = function () { console.log(i); };}a[6](); //6③ let不像var那樣,會發生“變量提升”現象
console.log(a); // a is not definedlet a = 1;
④ let不允許在相同塊級作用域內,重復聲明同一個變量
// 報錯{ let a = 10; var a = 1;}// 報錯{ let a = 10; let a = 1;}2. const 命令
① const也用來聲明變量,但是聲明的是常量。一旦聲明,常量的值就不能改變。
② 與let相同也不能在相同塊級作用域內重復聲明同一個變量。
③ const的作用域與let命令相同:只在聲明所在的塊級作用域內有效。
const PI = 3.1415;console.log(PI); // 3.1415//PI = 3; // Assignment to constant variable.(不能給常量賦值)//const PI = 3.1;// Identifier 'PI' has already been declared
希望本文所述對大家ECMAScript程序設計有所幫助。
新聞熱點
疑難解答