首頁 >web前端 >js教程 >你必須了解的ES6新功能: let和const指令詳解

你必須了解的ES6新功能: let和const指令詳解

零下一度
零下一度原創
2017-04-22 10:05:361321瀏覽

這篇文章主要介紹了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 &#39;PI&#39; has already been declared

需要學習js的同學請關注php中文網js影片教學,眾多js線上影片教學可以免費觀看!

以上是你必須了解的ES6新功能: let和const指令詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn