ES6 (总结篇二)
一.字符串?dāng)U展
1.indexOf和index
之前做項(xiàng)目,遇到判斷一個(gè)字符串是否存在,不清楚用index還是indexOf,百度之后,用了indexOf。indexOf:返回某個(gè)指定的字符串值在字符串中首次出現(xiàn)的位置 ,如果沒(méi)有找到這個(gè)值就返回-1,這一點(diǎn)很好用,注意,indexOf對(duì)大小寫敏感。index返回下拉列表中選項(xiàng)的索引位置。
而ES6提供了3種判斷字符串是否存在的方法。①.includes() 返回布爾值,是否找到該字符串 ②.startsWith() ③.endsWith() 他們可以提供第二個(gè)參數(shù),表示搜索的位置,endsWith()和他們不同,他是針對(duì)前n個(gè)字符,二其他的是針對(duì)從第n個(gè)開(kāi)始直到結(jié)束。
二.函數(shù)的擴(kuò)展
1.箭頭函數(shù)使用注意事項(xiàng):
(1).函數(shù)體內(nèi)的this對(duì)象,就是定義時(shí)所在的對(duì)象,而不是使用時(shí)所在的對(duì)象
(2).不可以當(dāng)作構(gòu)造函數(shù),也就是說(shuō),不可以使用new命令,否則會(huì)拋出錯(cuò)誤
(3).不可以使用arguments對(duì)象,該對(duì)象在函數(shù)體內(nèi)不存在,如果要用,可以用rest參數(shù)代替
(4).不可以使用yield命令,因此箭頭函數(shù)不能用作Generator函數(shù)
注意,this對(duì)象的指向是可變的,但是在箭頭函數(shù)中,它是固定的
function foo() {setTimeout(() => {console.log('id:', this.id);}, 100); } var id = 21; foo.call({ id: 42 }); // id: 42//如果是普通函數(shù),執(zhí)行時(shí)this應(yīng)該指向全局對(duì)象window,這時(shí)輸出21
?三.數(shù)組擴(kuò)展
1.Rest
rest參數(shù),形式為 "...變量名",用于獲取函數(shù)多余參數(shù),將多余參數(shù)放在數(shù)組中,和擴(kuò)展運(yùn)算符可以理解為互為逆函數(shù)
擴(kuò)展運(yùn)算符:形式為"...",它是rest參數(shù)的逆運(yùn)算,將一個(gè)數(shù)組轉(zhuǎn)為用逗號(hào)分隔的參數(shù)序列
例如:var list = ['大家好'] ?list.length =1,list[0]=大家好
var list = [...'大家好'] ?list.length =3,list[0]=大,list[1]=家,list[2]=好
擴(kuò)展運(yùn)算符最有用之一是:Math.max(...arr),比較數(shù)組中的最大值 ES5的寫法是:Math.max.apply(null,[1,2,3])
2.擴(kuò)展運(yùn)算符的作用
(1).復(fù)制數(shù)組
// ES5 const a1 = [1,2] const a2 = a1.concat() // ES6 const a1 = [1,2] const a2 = [...a1] 或者 const[...a2] = a1(2).合并數(shù)組
// ES5 [1, 2].concat(more) // ES6 [1, 2, ...more]var arr1 = ['a', 'b']; var arr2 = ['c']; var arr3 = ['d', 'e'];// ES5的合并數(shù)組 arr1.concat(arr2, arr3); // [ 'a', 'b', 'c', 'd', 'e' ]// ES6的合并數(shù)組 [...arr1, ...arr2, ...arr3] // [ 'a', 'b', 'c', 'd', 'e' ](3).與解構(gòu)賦值結(jié)合(如果將擴(kuò)展運(yùn)算符用于數(shù)組賦值,只能放在參數(shù)的最后一位,否則報(bào)錯(cuò))
// ES5 a = list[0], rest = list.slice(1) // ES6 [a, ...rest] = list?
轉(zhuǎn)載于:https://www.cnblogs.com/alhh/p/8252211.html
總結(jié)
以上是生活随笔為你收集整理的ES6 (总结篇二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: JSON转对象、List
- 下一篇: ARCSDE的直接连接(SQLSERVE