本文談談關於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...