這篇文章主要介紹了ES6新特性中的let和const命令,結合實例形式分析了let和const命令的功能、使用方法與相關注意事項,需要的朋友可以參考下
本文實例講述了ES6新特性中的let和const命令。分享給大家供大家參考,具體如下:
1. let 指令
① 在js中是沒有區塊級作用域的, var 宣告的變數作用域是整個函數體,而let可以起到這一作用
{ let a = 1; var b = 2; } console.log(b); // 2 console.log(a); // a is not defind
② 而let可以起到這一作用啊在js中變數和函數的宣告會提升到目前作用域最頂部執行。這樣就會出現問題。
var a = []; //函数和变量i会最先进行声明,同时全局变量i经过for循环赋值为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那樣,會發生「變數提升」現象
console.log(a); // a is not defined let 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
需要學習js的同學請關注php中文網js影片教學,眾多js線上影片教學可以免費觀看!
以上是你必須了解的ES6新功能: let和const指令詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!