let宣告的變數只能在所處遇到的快級有效。
不存在變數提公升。
暫時性死區,不受外部**影響。
在乙個大括號中使用let關鍵字宣告的變數才具有塊級作用域,var關鍵字不具有這個特點
具有塊級作用域。
使用const關鍵字宣告的常量必須賦值。
常量賦值後值不能更改。
varletconst
函式級作用域
塊級作用域
塊級作用域
變數提公升
不存在變數提公升
不存在變數提公升
值可更改
值可更改
值不可更改
含義:es6中允許從陣列中提取值,按照對應位置對變數賦值,物件也可以實現賦值
1.資料結構:允許我們按照一一對應的關係從陣列中提取值然後將值賦值給變數。例如:
2.物件結構:物件結構允許我們使用變數的名字匹配物件的屬性,匹配成功將物件屬性的值賦值給變數。let ary =[1
,2,3
];let[a,b,c]
= ary;
console.
log(a)
//1console.
log(b)
//2console.
log(c)
//3
例如:
箭頭函式:()=>let person =
let=person;
console.
log(person)
const fn =()=>
fn();
函式體中只有一句**,且**的執行結果就是函式的返回值,『{}』 大括號可省略:
const sum = (n1,n2)=> ;
等於const sum =(n1,n2)=> n1+n2;
如果形參有乙個,小括號也可省略,
function fn(v)
等於const fn = v => v;
箭頭函式不定義this,箭頭函式沒有自己的this關鍵字,如果在箭頭函式中使用this,this關鍵字將指向箭頭函式定義位置中的this
…args將所有的剩下的引數接受function
sum(first,
...args)
sum(10,
20,30)
2.剩餘引數與解構解構配合使用
1.定義:可以將陣列或者物件轉換為用逗號分隔的引數序列let students =
['z'
,'b'
,'c'
]let
[s1,
...s2]
= students;
console.
log(s1);//
console.
log(s2)
例:
沒有逗號了是因為逗號被當成console.log的引數分隔符了let ary =[1
,2,3
];console.
log(
...ary)
;
2.可用於合併陣列
法一
法二let ary1 =[1
,2,3
];let ary2 =[3
,4,5
];let ary3 =
[...ary1,
...ary2]
console.
log(ary3)
3.擴充套件運算子可將陣列轉換為真正的陣列let ary1 =[1
,2,3
];let ary2 =[3
,4,5
];// let ary3 = [...ary1,...ary2];
// console.log(ary3)
ary1.
push
(...ary2)
;console.
log(ary1)
2.array例項方法:find1<
/div>
2<
/div>
3<
/div>
4<
/div>
5<
/div>
6<
/div>
<
/div>
var odivs = document.
getelementsbytagname
('div');
console.
log(odivs)
var ary =
[...odivs]
;
console.
log(ary)
;<
/script>
<
/body>1.建構函式方法:
let arraylike =
let arr2 = array.
from
(arraylike)
console.
log(arr2)
用於找出第乙個符合條件的陣列成員,如果沒有找到返回underfind
3.array例項方法:findindexvar arr =[,
];let target = arr.
find
(item => item.id ==2)
;console.
log(target)
用於找出第乙個符合條件的成員的位置,如果沒找到返回-1
4.array例項方法:includeslet ary =[1
,5,10
,15]let index = ary.
findindex
((value,index)
=> value>9)
;console.
log(index)
;
表示某個陣列是否包含給定的值,返回布林值
let ary =
['a'
,'b'
,'c'];
let result = ary.
includes
('a'
)console.
log(result)
1.模板字串中可以呼叫函式let name=
'giao哥'
let sayhello =$`
;console.
log(sayhello)
2.在模板字串中可呼叫函式let result=
let html =`$
$$`;
console.
log(html)
startswith判定某引數字串是否在字串的頭部const
sayhello
=function()
;let greet =`$
`;console.
log(greet)
;
endswitch判定某引數字串是否在字串的尾部
let str =
'hello giao哥'
;let e1 = str.
startswith
('hello');
console.
log(e1)
let e2 = str.
endswith
('giao哥');
ES6知識點總結
面向過程和物件導向的對比 面向過程 物件導向 物件 物件是由屬性和方法組成的 類 class 在 es6 中新增加了類的概念,可以使用 class 關鍵字宣告乙個類,之後以這個類來例項化物件 物件導向的思維特點 抽取 抽象 物件共用的屬性和行為組織 封裝 成乙個類 模板 對類進行例項化,獲取類的物件...
es6常用知識點總結
1.定義變數的方式 let 1 沒有變數提公升 var具有變數提公升 即在當前作用域的最上面定義這個變數 但不賦值 例 console.log x var x 20 顯示undefined console.log m let m 100 報錯 2 let不可以重複宣告 例 var x 10 var ...
ES6知識點總結(一)
es6知識點總結 一 是對賦值運算子的擴充套件,一種針對陣列或者物件進行模式匹配,然後對其中的變數進行賦值 變數的解構賦值實用性很強,使用場景很多 1.交換賦值 2.函式引數的定義 3.函式引數的預設值 4.從函式返回多個值 5.提取json資料 6.遍歷map結構 陣列解構 物件解構 字串解構 數...