關於 ES6 新特性

2021-10-24 15:52:56 字數 3126 閱讀 1589

本文談談關於es6的新特性,主要從

變數函式

陣列字串

物件導向

promise

generator

json

等幾個方面敘述。

定義方式

特點var

可以重複宣告,無法限制修改,函式級作用域

let不能重複宣告,變數可以修改,塊級作用域

const

不能重複宣告,常量-不能修改,塊級作用域

/*原始函式*/

function()

/*箭頭函式*/()

=>

/*注: 1.引數唯一可省略()

2.返回值 return 唯一可省略{}

*/

a.收集引數

function

show

(a,b,

...args)

/* rest parameter必須為最後乙個形參

*/

b.展開陣列

...arr => a,b,c

/* 展開後的效果跟直接展示陣列的內容一致

*/

為定義好的可選引數賦值即為預設引數

傳值覆蓋,空值預設

let

[a,b,c]=[

1,2,

3];let=;

let[json,arr,num,str]=[

,[1,

2],1

,'xcbdh'

];

arr.

map(item=>item>=60?

'及格'

:'不及格'

);

arr.

reduce

(function

(tmp,item,index)

);

arr.

filter

(item=>

else})

;

/*高階一下*/

arr.

filter

(item=>item%3==

0);

4.foreach 迭代-迴圈遍歷

arr.

foreach

((item,index)

=>

)

startswith()

//匹配字串開頭

endswith()

//匹配字串結尾

``

//使用${}放變數

class

user

showname()

showpwd()

}/*繼承:*/

class

vipuser

extends

user

showlevel()

}

/*物件導向應用-react*/

class

item

extends

react.component

render()

<

/li>}}

class

list

extends

react.component

render()

>

<

/item>)}

<

/ul>;}

}window.

onload

=function()

>

<

/list>

, odiv

)}

/*promise用同步的方式書寫非同步方法*/

promise.

all(

[$.ajax()

,$.ajax()

]).then

(results=>

,err=>);

function

*show()

/*舉個例子*/

const koa=

require

('koa');

const mysql=

require

('koa-mysql');

let db=mysql.

createpool()

let server=

newkoa()

;server.

use(

function*(

));server.

listen

(2048

);

json

.stringify

json

.parse

key和value相同時可只寫key

方法: show:function()

改寫成show()

只可使用雙引號,所有的key需要新增引號

includes

檢查陣列是否包含某個元素

arr.keys()

arr.values()

arr.entries()

for…in 迴圈key

for…of 迴圈value(不可用於json)

keys 取出key

values 取出value

entries 取出key-value(*entry實體)

a**b(a的b次方)

新方法:

padstart

padend

例子:str.padstart(10,『0』)//字串取10位,開頭補0

元素、引數後多餘逗號不報錯

generator yield 轉變成:async await

async

function

show()

不再依賴外部runner,可以使用箭頭函式

es6新特性 ES6新特性(一)

var 1 var宣告的是函式作用域 區域性 但在if for等定義的變數是全域性的 2 var 具有變數提公升,預解析 3 在同乙個作用域下,var可以宣告多次 4 var 宣告的變數會掛載到window上 let1 let不存在變數提公升,在變數使用之前,必須要先宣告 2 let在同一作用域下,...

ES6新特性須知

1.1es5之前函式想要賦預設值var funes5 function a,b,c 1.2es6開始函式想要賦預設值var funes6 function a 50,b 60,c 70 2.1es5之前字串拼接或者拼接屬性值只能如下var a lbj var b 50 var c name a ye...

es6新特性分享

1 字串查詢 es5使用是indexof 返回字元第一次出現的位置int值 es6新增了3個方法 includes startswith endwith 返回bool值 includes 是否包含字元 startswith 首字母是否包含字元 endwith 末尾是否包含字元 2 數值擴充套件 nu...