es6+最佳入門實踐(1)
阿新 • • 發佈:2019-02-10
lan 地址 ref 命令 發生 實踐 常量 class 作用 1.let和const
1.1.let和塊級作用域
在es5中,js的作用域分為全局作用域和局部作用域,通常是用函數來區分的,函數內部屬於局部作用域,在es6中新增了塊級作用域的概念,使用{}括起來的區域是一個塊級作用域
{
var a = 10
}
// 輸出10
console.log(a)
如果上述代碼中定義變量的時候使用let,在外面使用變量a就會報錯
{
let a = 10
}
// 以下輸出會報錯
console.log(a)
es6中新增了塊級作用域,let定義的a只能在當前的{}中使用,在括號外面會報錯
註意: 不能重復去定義一個變量,例如,下面這種寫法就會報錯
let b = 10 let b = 20
如上代碼,重復定義一個變量b會報錯
1.2.const命令
const命令和let命令的區別是const定義的是常量,let定義的是變量,常量通常是不會被修改的
# 定義常量PI
const PI = 3.1415926
console.log(PI)
const 也是在當前塊級作用域中有效
{
const PI = 3.1415926
}
console.log(PI)
如果像上面代碼中那樣寫會報錯,const在塊級作用域中定義,就不能在外面打印,否則會報錯
註意1:常量是不能被修改的(存儲基本數據類型的時候),如果試圖去修改它,會報錯,但是如果存儲的是對象,那麽引用不可以被改變,至於對象裏面的數據如何變化,是沒有關系的
const PI = 3.14
//這裏會報錯,因為存儲的是基本數據類型 字符串
PI = 3.2
//這樣寫是會報錯的,引用關系被改變了
const BASE = {}
BASE = {} //這裏直接賦值一個新對象 引用關系發生變化 會報錯
//如果只改變對象中的數據,那是不會報錯的,例如下面這樣寫
BASE.a = 123 //這裏只是給對象添加了屬性 並沒有改變對象引用
註意2: const 也不能重復定義,否則會報錯
const PI = 3.14
const PI = 3.14 // 這裏也會報錯
註意3: const定義常量時必須賦值
const PI PI = 3.14 //這裏也會報錯
視頻教程地址:http://edu.nodeing.com/course/50
es6+最佳入門實踐(1)