var
可以重複宣告
無法限制修改
沒有塊級作用域
let
不能重複宣告
變數-可以修改
塊級作用域
const
不能重複宣告
常量-不可以修改
塊級作用域
//原來寫法:
function名字(
)//箭頭函式()
=>
引數擴充套件
收集剩餘引數
function
show
(a,b,
...args)
展開陣列
展開後的效果,跟直接把陣列的內容寫在這兒一樣
let arr=[1
,2,3
]console.
log(1,
2,3)
;//1,2,3
console.
log(
...arr)
;//1,2,3
左右兩邊結構必須一樣
右邊必須是個東西
宣告和賦值不能分開(必須在一句話裡完成)
let
[a,b,c]=[
1,2,
3]; //正確
let=
;//正確
let=
; //錯誤(左邊為物件,右邊不是物件)
es6陣列新增方法
用處結果
map對映
乙個對乙個
reduce
彙總一堆資料出來乙個
filter
過濾器過濾出符合條件的資料
foreach
迴圈(迭代)
取出所有的數
map列子
let score =[19
,86,99
,25,90
];let result = score.
map(
function
(item)
)//es6箭頭函式寫法
/* let result = score.map(item=>item >=60?'及格':'不及格')
*/alert
(result)
reduce例子
//通過reduce方法計算陣列的和
let arr =[12
,69,180
,8763
]let result = arr.
reduce
(function
(tmp,item,index)
)console.
log(result)
;//9024
//通過reduce方法計算陣列的平均數
let arr =[12
,69,180
,8763
]let result = arr.
reduce
((tmp,item,index)
=>
else})
console.
log(result)
;//2256
filter例子
//過濾出陣列中所有能被3整除的元素
let arr=[12
,5,8
,99,28
,11];
let result = arr.
filter
(item=>
)//es6箭頭函式寫法
/* let result = arr.filter(item=>item%3==0)
*/console.
log(result)
foreach例子
//迴圈遍歷取出每個元素
let arr =[14
,8,9
,91,78
];arr.
foreach
(function
(item,index)
)//es6箭頭函式寫法
/* arr.foreach((item,index)=>)
*/
新增兩個新方法
//starstwith 字串以什麼開頭
//endswith 字串以什麼結尾
let img =
'123feasdfaewr.png';if
(img.
endswith
('png'))
else
if(img.
endswith
('html'))
字串模板(反單引號 ``)
let title =
'標題'
;let content =
'內容'
;let str1 = '
'+title+'
<
/h1>
'+content+'
<
/p>
<
/div>';
let str2 =`'+
$+'`;
console.
log(str1)
;console.
log(str2)
;
1. 增加了class關鍵字,構造器和類分開了
2. class裡面直接寫方法
ES6學習筆記
let 塊變數 作用域為塊 const 常亮 作用域為當前塊 解構賦值 例 var x,y 1,2 字元擴充套件 at includes startswith endswith repeat codepointat 模板字串 例 正則的uiy 數值擴充套件 number.isfinite numbe...
ES6學習筆記
常用語法 1 let 與var類似,不同的是let定義的變數有塊級作用域,比如 var a 1 while true alert a 2 用let let a 1 while true alert a 12 const用來定義變數,但是定義之後的值不能再次更改了。乙個實際的用途是用來定義引入的模組,...
ES6學習筆記
var 有變數提公升 let 是塊級作用域,沒有變數提公升 模板語言 還原百分百定義的格式 const 定義常量,特殊情況可以改變值 const b 1 b 2 error const b b.a 2 ok b.c 10 ok object是記憶體位址,位址不變就沒問題 預設值 在不知道接收到個什麼...