ES6精講 let和const的使用

2021-09-04 10:35:53 字數 1821 閱讀 8749

這是本門課程的第一講--let和const關鍵字的使用

一、let的使用及其注意事項

說明var

let申明位置

使用前後都可以申明

必須在使用前就申明

變數解析

編寫時在使用後申明的變數存在變數提公升

不會進行變數提公升,要使用必須先申明

作用範圍

全域性或者整個函式

只在申明變數的區域性能夠使用

全域性定義

變數會成為window物件的屬性,不會成為global的屬性

變數不會成為全域性物件的屬性

綜述:相較於var,let定義的變數更嚴謹,可以從語法層面避免重複申明等問題;而且let定義的變數因為只在區域性**段內有效,不存在變數汙染。 

由於let關鍵字的變數是相較於var有了全面性的改進和提公升,建議在es6的專案中全面使用let來代替var來定義變數

接下來,我們通過一些例子來演示let關鍵字的使用(測試環境 nodejs 10.2.0)

例1:正常定義(先申明變數再使用)

let str1 = 'hello'

console.log(str1)    //  hello

例2:先使用再定義(出錯)

console.log(str1)  //  str1 is not defined

let str1 = 'hello'

例3: 在for迴圈內定義

let sum = 0;

for(let i=0; i<= 100; i++ )

console.log(i)    //  i is not defined

console.log(sum)  

例4: **段內定義

let  n  = 5

if (false)

console.log(n)  // 5

例5: **段內定義

let  n  = 5

if (true)

console.log(n)  // 5

例6: **段內定義

let  n  = 5

if (true)

console.log(n)  // 5

例7: **段內

let  n  = 5

if (true)

console.log(n)  // 5

例8: let與var在定義全域性變數(nodejs)

let n=5

var sum = 100

console.log(global.n)  // undefined(未定義該屬性)

console.log(global.sum) // undefined

例9: let與var在定義全域性變數(瀏覽器)

let n=5

var sum = 100

console.log(window.n)   // undefined(未定義該屬性)

console.log(window.sum)  // 100

二、const的使用及其注意事項

const關鍵字定義程式裡面的常量,使用是必須在申明常量的同時就定義了相關的值,而且在程式執行中,不能再次賦值。可以通俗的理解為「出生決定一切」,看幾個例子(測試環境 node 10.2.0)

例1:(正常定義)

const pi = 3.1415926

console.log(pi)

例2: (先申請,後定義)

const pi   // missing initializer in const declaration(缺少常量初始值)

pi = 3.1415926  

console.log(pi)

ES6學習 let和const命令

1.let命令 所宣告的變數命令所在 塊有效 a referenceerror a is not defined.b 1for迴圈的計數器,就很適合let命令 for let i 0 i arr.length i console.log i referenceerror i is not defin...

ES6 一 let和const命令

在js中是沒有塊級作用域的,var 宣告的變數作用域是整個函式體,而let可以起到這一作用 console.log b 2 console.log a a is not defind 而let可以起到這一作用啊在js中變數和函式的宣告會提公升到當前作用域最頂部執行。這樣就會出現問題。var a 函式...

es6學習筆記 let和const

console.log b uncaught referenceerror a is not defined 在for迴圈中,迴圈語句部分是乙個作用域,內部又是乙個作用域 for let a 1 a 3 a 在let宣告變數完成前,對變數賦值會出錯es中模仿塊級作用域 function functi...