es6入門學習一

2021-08-13 01:14:06 字數 1741 閱讀 6690

1、let和const命令

對於const來說,只宣告不賦值,就會報錯

const的作用域與let命令相同:只在宣告所在的塊級作用域內有效

const和let都不存在是常量提公升,同樣存在暫時性死區,宣告的常量都不可重複,都是先宣告後使用

2、變數的解構賦值

預設值生效的條件是,物件的屬性值嚴格等於undefined,如屬性等於null,就導致預設值不會生效

如果解構失敗,變數的值等於undefined

數值和布林值的包裝物件都有tostring屬性

解構賦值的規則是:只要等號右邊的值不是物件或陣列,就先將其轉為物件,由於undefined和null無法轉為物件,所以對他們進行解構賦值都會報錯

不能使用圓括號的情況:

(1)變數宣告語句

(2)函式引數

(3)賦值語句的模式

只有賦值語句的非模式部分可以使用圓括號

**變數的解構賦值用途:

(1)交換變數的值

(2)從函式返回多個值

(3)函式引數的定義

(4)提取json資料

(5)函式引數的預設值

(6)遍歷map結構

(7)輸入模組的指定方法

3、字串的擴充套件

模板字串用'(反引號)括起來,要嵌入變數和函式,需要將變數名和函式名寫在${}之中

4、正則的擴充套件

字串物件共有4個方法,可以使用正規表示式:match()、replace()、search()、split()

5、數值的擴充套件

es6在number物件上,提供number.isfinite()用來檢查乙個數值是否為有限的(finite)

number.isnan()用來檢查乙個值是否是nan

math.trunc()方法用於去除乙個數的小數部分,返回整數部分(對於空值和無法擷取整數的值,返回nan)

math.sign()方法用來判斷乙個數到底是正數、負數、還是零。

math.cbrt()方法用於計算乙個數的立方根

math.imul()方法返回兩個數以32位帶符號整數形式相乘的結果

math.hypot()方法返回所有引數的平方和的平方根

math.expml()返回math.exp(x)-1

math.loglp(x)返回1+x的自然對數,即math.log(1+x)。如果x小於-1,返回nan

es2016新增了乙個指數運算子(**),指數運算子可以與等號結合,形成乙個新的 賦值運算子(**=)

a**=3等同於a=a*a*a

6、函式的擴充套件

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

箭頭函式:es6允許使用"箭頭"(=>)定義函式,如果箭頭函式不需要引數或需要多個引數,就使用乙個圓括號代表引數部分。如果箭頭函式的**部分多於一條語句,就要用大括號將他們括起來,並且使用return語句返回

使用注意點:(1)函式體內的this物件,就是定義時所在的物件,而不是使用時所在的物件。

(2)不可以當做建構函式,不可以使用new命令

(3)不可以使用arguments物件,該物件在函式體內不存在,如果要用,可以用rest引數代替

(4)不可以用yield命令,因此箭頭函式不能用作generator函式

7、陣列的擴充套件

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

es6學習入門

一 定義變數 1 let 1 不進行預解釋,但是編譯時會優先過濾一遍 let a 0 2 同乙個作用域下面不可重複定義,不同作用域下面是不同變數 let a 0 let a 1 a has already been declared 已經被宣告 console.log a 0,獲取的是全域性a 3 ...

ES6入門概覽一

一 let const 1.let命令 宣告變數僅在塊級作用域有效 let實際上為js新增了塊級作用域 好處 不存在變數提公升 內部宣告的變數 函式 不會影響外部 不可重複宣告變數 2.const 宣告常亮 宣告時賦值 宣告變數 1.var 2.function es5 全域性物件屬性 3.let ...

ES6快速入門

三種語法實現同乙個功能,從而加深對三種語法的運用,最後了解es6的優勢 知識點 常量 作用域 箭頭函式 預設 物件 es5 中常量的寫法 object.defineproperty window,pi2 console.log window.pi2 es6 的常量寫法 const pi 3.1415...