新增了canvas 繪畫檢視
新增了定義class的語法糖
函式的新增了箭頭函式、函式引數的預設值
陣列例項新增了 keys(),values(),entries()
新增了基本資料型別(symbol)
變數的解構賦值
新增了map資料結構 和 set資料結構
新增了模組化(import/export)
陣列和物件新增了擴充套件運算子
新增了generator(生產器) 和 iterator(遍歷器)
塊級作用域(let,const)
object.assign()
新增了模板字串
let arr=[1
,2,3
,4,5
,6,7
,8,9
,10] arr.
foreach
((i,k)
=>
)function
log(x,y=10)
=>
log(
5)
陣列方式
let
[a,b,c]=[
1,2,
3]//a=1,b=2,c=3
let[a,b,c]=[
1,2]
//a=1,b=2,c=undefined
let[a,b,c]=[
1,2,
3,4,
5,6,
7]// a=1,b=2,c=3
let[a,b,
[c]]=[
1,2,
3,4,
5,6,
7]// a=1,b=2,c=3
let[a,b,
[...c]]=
[1,2
,3,4
,5,6
,7]// a=1,b=2,c=[3,4,5,6,7]
let[a,b,c=7]
=[1,
2]// a=1,b=2,c=7 沒有賦值就使用預設值
物件方式
let
=// a=10,b=30
let=
// a=30,b=10
let=
// a=10,b=30
let=
// a=10,b=30
let=
//c=undefined,d=undefined
物件的巢狀使用
let obj=]}
let]
}= obj
let]}
= obj
console.
log(a,b)
//a=hello b=world
console.
log(x)
//x=world
let obj=]}
let]
}= obj
console.
log(b)
//undefined
預設值
let
= console.
log(y)
//20
let=
console.
log(y)
//11
var}=;
foo //報錯
字串方式
let
[a,b,c,d,e]
='hello'
console.
log(a,b,c)
// h e l
let[a,b,
[...c]]=
'hello'
console.
log(a,b,c)
// h e [llo]
什麼是let呢?
let和var差不多,都是用來宣告變數的。區別就在於:
1、 let宣告的變數只在所處於的塊級有效;
2、 let沒有『變數提公升』的特性,而是『暫時性死區(temporal dead zone)特性。
let宣告的變數只在所處於的塊級有效;
'use strict'
;function
func
(args)
//在if外,再次列印i值
console.
log(
'outside: '
+ i);}
;func()
;
let沒有『變數提公升』的特性,而是『暫時性死區(temporal dead zone)特性。
'use strict'
;function
func()
;func()
;
const命令:
const命令與let命令一樣,宣告的變數,其作用域都是塊級。
所以const遵循的規則與let相差無二,只是,const是用來宣告恆定變數的。
且,用const宣告恆定變數,宣告的同時就必須賦值,否則會報錯。
'use strict'
;function
func()
;func()
;
ES6新增常用方法
let 1.在塊級作用域內部有效 迴圈中迴圈變數部分和迴圈體內部是不同作用域 不存在變數提公升,先宣告後使用,否則報錯 4.塊級作用域內只要存在let,所生命的變數就 繫結 這個區域,不受外界影響 var a for let i 1 i 10 i a 6 6塊級作用域與函式宣告 允許在塊級作用域內宣...
ES6新增常用方法
let區別1 let定義的變數只能在 塊 裡面使用,形成乙個 塊級作用域 var作用於函式作用域 區別2 let不允許重複宣告,它是乙個封閉空間,解決了i問題 var a 5 var a 12 a 5 let a 5 let a 12 error 區別3 const const用來定義常量,一旦定義...
ES6新增方法
變數宣告 let 1.區域性變數,只能在區域性呼叫 2.不能重複宣告 3.不會提公升變數 console.log a let a const 1.宣告乙個常量 2.宣告必須賦值 3.不能被修改 4.變數名建議大寫,如 const pi 3.14 變數型別 資料型別 1.數字 number 2.字串 ...