學習筆記 ES6 基礎語法

2021-10-08 17:11:27 字數 3327 閱讀 9286

let 關鍵字就是 var 的公升級版,它具有以下特點:

let 的作用域

以前我們實現點乙個按鈕,就彈出當前按鈕的索引值,使用的如下**:

for

(var i =

0; i < btns.length; i++)}

)(i)

}

這是運用了立即執行函式造成閉包,給每個按鈕分配了乙個 i,這裡的 i 都是函式級作用域

我們將 var 變成 let:

for

(let i =

0; i < btns.length; i++

)}

因為 let 建立的 i 是塊級作用域,所以也能實現效果

const 關鍵字也是 var 的公升級版,它具有以下特點:

let arr =[1

,3,5

];let[a, b, c]

= arr;

console.

log(a)

;console.

log(b)

;console.

log(c)

;

注意:

let a =1;

let b =2;

let c =3;

let obj =

console.

log(obj.a)

;// 1

console.

log(obj.b)

;// 2

console.

log(obj.c)

;// 3

箭頭函式就是函式function() {}的簡寫:() => {}

假如有乙個排序方法:

let arr =[12

,8,5

,23,6

];arr.

sort

(function

(n1, n2)

)

可以簡寫為:

console.

log(arr.

sort

((n1, n2)

=>))

;

箭頭函式向外層作用域一層層查詢this,將找到的第乙個this作為它的this

當我們要將乙個函式作為另乙個函式的引數時,使用箭頭函式

如:

settimeout

(function()

,1000

)

使用箭頭函式:

settimeout((

)=>

)

let obj =

,//es6寫法

eat()}

obj.

eat();

obj.

drink()

;

...有兩個作用,分別是引數的收集與展開

function

fn(a, b,

...c)fn(

1,2,

3,4,

5,6,

7);

列印結果:

12[

3,4,

5,6,

7]

...c表示將接收所有的第三個引數及以後的引數

let arr =[1

,2,3

]arr.

push

(...[4

,5,6

])console.

log(arr)

;

列印結果:

[1,

2,3,

4,5,

6]

let arr =[1

,2,3

];console.

log(

...arr)

;

map(對映)
let arr =[1

,2,3

];//將arr中的1,2,3陸續作為value引數傳入到function中,對其進行操作後,返回的值將新增到乙個新陣列中

var arr1 = arr.

map(

function

(value)

else

})

如果符合條件則返回及格,如果不符合條件則返回不及格

如果不設定條件,則返回undefined

reduce

不管進去幾個,只出來乙個

var num =[1

,2,3

,4,5

];var res = num.

reduce

(function

(total, num),0

);console.

log(res); //15

模板字串可以在字串中插入變數,用${}表示

字串不能用引號,要用反單引號,即波浪鍵`

以前的引號只能接受一行內的資料,換行的話要用+拼接,而反單引號能一次接收多行的字串

let a =2;

let b =3;

// es5:

console.

log(

'今天是星期'

+ a +

',我吃了'

+ b +

'個包子');

// es6:

console.

log(

`今天是星期

$,我吃了

$個包子`

);

json格式字串的鍵必須使用雙引號包裹

json物件的方法:

// 序列化,即將傳遞的內容轉換為字串

json

.stringify()

json

.stringify()

// 返回''

// 解序列化,將收到的字串轉換為非字串

json

.parse()

json

.parse(''

)// 返回

ES6 基礎語法

1 var vs let const var 可以定義全域性變數,與之不同,let的重要特性就是提供了塊級作用域和不具備變數提公升。const主要用於定義常量,常量顧名思義不是變數,意思就是一經定義,值就無法改變。首先弄明白塊級作用域 es5中有全域性作用域與函式作用域,塊級作用域是es6中的新語法...

ES6基礎語法

let 變數 不具備變數提公升特性 const 常量 引用位址不可改變 在宣告時必須被賦值 let和const都是塊級作用域 只在最靠近的乙個塊中 花括號內 有效 在es6中新增了模板字串拼接 var name kingfan var age 18 var msg 我是 今年 歲 console.l...

es6語法 基礎

let 1.let宣告的變數只能宣告一次,不能被重新定義 2.let定義的變數必須先定義再使用,不能在宣告之前訪問該變數 3.let定義的變數存在塊級作用域,不能被變數提公升,4.let在for迴圈外部不能被使用 所以for迴圈推薦使用let const的作用 定義常量 常量不允許重新賦值 cons...