ES6新特性一: let和const命令詳解
本文實例講述了ES6新特性中的let和const命令。分享給大家供大家參考,具體如下:
1. let 命令
① 在js中是沒有塊級作用域的,var 聲明的變量作用域是整個函數(shù)體,而let可以起到這一作用
{ let a = 1; var b = 2; } console.log(b); // 2 console.log(a); // a is not defind
② 而let可以起到這一作用啊在js中變量和函數(shù)的聲明會提升到當前作用域最頂部執(zhí)行。這樣就會出現(xiàn)問題。
var a = []; //函數(shù)和變量i會最先進行聲明,同時全局變量i經(jīng)過for循環(huán)賦值為10 for (var i = 0; i < 10; i++) { a[i] = function () { console.log(i); }; } console.log(i);//10 a[6]();//10
而使用let就解決了這個問題
for (let i = 0; i < 10; i++) { a[i] = function () { console.log(i); }; } a[6](); //6
③ let不像var那樣,會發(fā)生“變量提升”現(xiàn)象
console.log(a); // a is not defined let a = 1;
④ let不允許在相同塊級作用域內(nèi),重復(fù)聲明同一個變量
// 報錯 { let a = 10; var a = 1; } // 報錯 { let a = 10; let a = 1; }
2. const 命令
① const也用來聲明變量,但是聲明的是常量。一旦聲明,常量的值就不能改變。
② 與let相同也不能在相同塊級作用域內(nèi)重復(fù)聲明同一個變量。
③ const的作用域與let命令相同:只在聲明所在的塊級作用域內(nèi)有效。
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程序設(shè)計有所幫助。
相關(guān)文章
微信小程序?qū)崿F(xiàn)獲取用戶信息并存入數(shù)據(jù)庫操作示例
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)獲取用戶信息并存入數(shù)據(jù)庫操作,涉及微信小程序wx.request后臺數(shù)據(jù)交互及php數(shù)據(jù)存儲相關(guān)操作技巧,需要的朋友可以參考下2019-05-05JavaScript實現(xiàn)SHA-1加密算法的方法
這篇文章主要介紹了JavaScript實現(xiàn)SHA-1加密算法的方法,實例分析了使用javascript實現(xiàn)SHA-1加密算法的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03為Javascript中的String對象添加去除左右空格的方法(示例代碼)
這篇文章主要介紹了為Javascript中的String對象添加去除左右空格的方法(示例代碼)。需要的朋友可以過來參考下,希望對大家有所幫助2013-11-11