ES6 學習總結(基礎篇)

2022-09-14 02:21:09 字數 2663 閱讀 6905

let、const 的用途和 var 相似,都是用來宣告變數,但各自特性並不相同。

let 的特性:

只在 let 所在**塊有效

建立塊級作用域,並只在塊級作用域內有效

沒有變數提公升

不允許在相同作用域重複宣告

const 的特性:

宣告乙個唯讀常量,宣告後就初始化,無法更改,以後也無法賦值

建立塊級作用域,並只在塊級作用域內有效

宣告的常量不提公升

不允許在相同作用域重複宣告

const 實際保證的是宣告的變數的記憶體位址不可改變

es6 提供了更接近傳統語言的寫法,引入了 class 這個概念。 es6 的類可以看作建構函式的另一種寫法。

class animal 

says(say)

}let animal = new animal();

animal.says('hello'); // animal says hello

class cat extends animal

}let cat = new cat();

cat.says('hello'); // cat says hello

上面**首先定義了乙個類,擁有乙個預設的方法 constructor ,這是構造方法,constructor 內定義的方法和屬性是例項物件自己的,外的是所有例項物件可以共享的。

class 之間通過 extends 繼承,繼承父類的所有屬性和方法。

super 指代父類的例項,也就是父類的 this 物件,子類必須在 constructor 方法類呼叫 super 方法,否則報錯。因為子類沒有自己的 this 物件,如果不呼叫,子類得不到 this 物件。

class 注意點:

類的內部定義的方法,都是不可列舉的(和 es5 不同)

必須有 constructor 方法,沒有顯式定義,則預設新增空的 constructor 方法

類的建構函式,必須使用 new 呼叫,普通建構函式不適用也可執行

不存在變數提公升

類的方法內部,this 預設指向類的例項

類的內部,預設是嚴格模式

function(x,y) 

(x,y) =>

在箭頭函式中,函式體內的 this 物件,就是定義時所在的物件,而不是在呼叫時的物件。

因為箭頭函式內部沒有自己的 this 物件,它的 this 物件繼承外面的,因此內部的 this 就是外層**塊的 this。

插入大段的 html 內容時使用:

there are$items

in your basket, $

are on sale!

`);用反引號 (``) 來標識起始,用 ${} 來引用變數,並且所有空格和輸出都會儲存在愛輸出之中。

完全解構

let [a, b, c] = [1, 2, 3]; 

// a = 1; b = 2; c = 3;

解構不成功

let [x, y] = [1]; 

// x = 1; y = undefined;

不完全解構

let [a, [b], c] = [1, [2,3], 4]; 

// a = 1; b = 2; c = 4;

物件的解構不同於陣列的解構,物件的解構賦值是先找到同名變數,然後賦值給對應的變數。賦值的是後者,前者用於匹配。

let  = ;

foo // "aaa"

bar // "bbb"

let = ;

baz// undefined

const [a, b, c, d, e] = "hello";

a // "h"

b // "e"

c // "l"

d // "l"

e // "o"

default是預設值,在 es6 之中可以指定預設值,可以在解構、函式引數之中傳入預設值。

function animal(type = 'cat')
es6 引入 rest 引數(形式為「...變數名」),用於獲取函式的多餘引數,這樣就不需要使用arguments物件了。rest 引數搭配的變數是乙個陣列,該變數將多餘的引數放入陣列中。

function add(...values) 

retutn sum;

}add(2, 3, 5) // 10

rest 注意點:

rest 引數後不能有其他引數,只能是最後乙個引數

函式的 length 屬性,不包括 rest 引數

擴充套件運算子(spread)是三個點(...)。它好比 rest 引數的逆運算,將乙個陣列轉為用逗號分隔的引數序列。

console.log(...[1, 2, 3])

// 1 2 3

console.log(1, ...[2, 3, 4], 4)

// 1 2 3 4 5

[...document.queryselectorall('div')]

// [, , ]

es6學習總結

一 let和const 1.let宣告的變數只在它所在的 塊有效。2.let宣告的變數僅在塊級作用域內有效。3.不存在變數提公升。4.每個let宣告的變數都有各自的作用域。它所宣告的變數一定要在宣告後使用,否則報錯 5.暫時性死區 只要塊級作用域內存在let命令,它所宣告的變數就 繫結 bindin...

ES6學習總結

1.建立 let x newset 2.特性 對基本資料型別,會自動去重 3.方法 x.add 新增 x.delete 刪除 x.has 刪除是否存在,返回布林 x.clear 清空 x.keys 返回鍵名的遍歷器 x.values 返回鍵值的遍歷器 x.foreach function 遍歷 ar...

es6基礎入門篇

1 let 允許重複賦值,但不允許重複宣告變數 2 const 宣告常量,不允許重複宣告,也不允許重複賦值 3 字串 1 string.fromcharcode 編碼 能讓編碼轉成字元 示例,統計瀏覽器能支援多少個中文字元 let name for let i 0x4e00 i 0x9fa5 i c...