es6學習筆記(一)

2021-08-28 11:19:12 字數 3949 閱讀 2804

一.let和const

let用於定義變數,const用於定義常量,都是塊級作用域。

二.陣列的解構賦值(解構陣列)

例:`var a=1,b=2,c=3;

= var [a,b,c]=[1,2,3]`

… 省略號的使用

var [a,...c]=[1,2,3];

console.log("a",a);

console.log("c",c);

a:1c:[2,3]

物件的結構賦值

var obj=;

let [a,b]=obj;

注意賦值時的key值必須一致,否則顯示undifned;

應用簡例:let res={status=200;id=13;data:[name:"jack",name:"bob"] let status,id,data=res;

字串的解構賦值:let [a,b,c]='nan'

新增字串方法

includes() //用於判斷字串中是否存在某個(些)字元

例:console.log('nanmu'.includes('a'))

結果為true

startswith() //用於檢測字串是否以某個(些)字元開頭的

例:console.log('nanmu'.startswith('na'))

結果為true

endswith() //用於判斷字串是否以某個(些)結尾的

repeat() //用於重複字串

例:console.log('nanmu'.repeat(3))

結果為列印』nanmu』三次,即列印三個』nanmu』

js的字串方法:

三個屬性:length(字串的長度),prototype(允許您向物件新增屬性和方法),constructor(對建立的該物件的函式的引用)

常用方法:

(1)charat()–返回字串在下標index位置的字元

stringobject.charat(index);   //如果index引數不在0與字串長度之間,則返回乙個空的字串

'nanmucheng'.charat(3) //===>返回'm'

(2)charcodeat()–返回字串在下標index位置的字元的unicode編碼

stringobject.charcodeat(index);  //返回unicode編碼

'nanmucheng'.charcodeat(3) //===>返回109(十進位制)

(3)indexof()–返回某個指定的字串值在字串出現的位置

stringobject.indexof(searchvalue,fromindex);//返回searchvalue的索引

searchvalue為需要搜尋的子字串,fromindex為從某個下標開始查詢

'nanmucheng'.indexof('mu ch')//返回3

'nanmucheng'.indexof('n',3)//返回8

(4)match()–在字串中檢索指定的值,或找到乙個或多個正規表示式的匹配,該方法類似 indexof() 和 lastindexof(),但是它返回指定的值,而不是字串的位置。返回存放匹配結果的陣列。該陣列的內容依賴於 regexp 是否具有全域性標誌 g,如果沒有找到任何匹配的文字, match() 將返回 null。

stringobject.match(regexp);//regexp為匹配子字串的正規表示式,規定要匹配的模式的 regexp 物件。如果該引數不是 regexp 物件,則需要首先把它傳遞給 regexp 建構函式,將其轉換為 regexp 物件。

stringobject.match(searchvalue);//規定要檢索的字串值。

let str="hello world,i love world";

str.match('/world/g')//結果為[world,world]

(5)replace()–用於在字串中用一些字元中替換另一些字元,或替換乙個與正規表示式匹配的子串

stringobject.replace(regexp/substr,replacement);

console.log('nanmucheng'.replace('n','m'));//返回結果為manmucheng,只替換開頭的m

console.log('nanmucheng'.replace(/n/g,'m'));// 列印出mammuchemg

//其它例子

在本例中,我們將把 "doe, john" 轉換為 "john doe" 的形式:

name = "doe, john";

name.replace(/(\w+)\s*, \s*(\w+)/, "$2 $1");

(6)search()–用於檢索字串中指定的子字串,或檢索與正規表示式相匹配的子字串。返回子字串的開始索引,不存在則返回-1;

stringobject.search(regexp);

let str="hello world";

str.search('world')//結果為6

//search() 方法不執行全域性匹配,它將忽略標誌 g。它同時忽略 regexp 的 lastindex 屬性,並且總是從字串的開始進行檢索,這意味著它總是返回 stringobject 的第乙個匹配的位置。

(7)slice()方法–slice() 方法可提取字串的某個部分,並以新的字串返回被提取的部分。

stringobject.slice(start,end);//返回值為乙個新的字串。包括字串 stringobject 從 start 開始(包括 start)到 end 結束(不包括 end)為止的所有字元。start:要抽取的片斷的起始下標。如果是負數,則該引數規定的是從字串的尾部開始算起的位置。也就是說,-1 指字串的最後乙個字元,-2 指倒數第二個字元,以此類推。若未指定此引數,則要提取的子串包括 start 到原字串結尾的字串。

let str="hello my wen; console.log(str.slice(6));//結果為"my wen"

let str="hello my wen"; console.log(str.sclice(6,10))//結果為'my w'

(8)split()–split() 方法用於把乙個字串分割成字串陣列。

stringobject.split(separator,howmany);//howmany引數為指定返回的陣列的最大長度。如果設定了該引數,返回的子串不會多於這個引數指定的陣列。如果沒有設定該引數,整個字串都會被分割,不考慮它的長度。

var str="hello my wen";

console.log(str.split(""))

console.log(str.split(" "))

結果為:(12) ["h", "e", "l", "l", "o", " ", "m", "y", " ", "w", "e", "n"]

(3) ["hello", "my", "wen"]

在本例中,我們將分割結構更為複雜的字串:

"2:3:4:5".split(":") //將返回["2", "3", "4", "5"]

"|a|b|c".split("|") //將返回["", "a", "b", "c"]

(9)tolowercase()//把字串轉換為小寫,touppercase//把字串轉換為大寫;

es6學習筆記(一)

最近在看阮一峰的 es6標準入門 打算在每天早起上班前看一小時,然後寫個部落格總結 關於第二章let,const命令的總結 1 暫時性死區 只要進入當前作用域,所要使用的變數就已經存在,但是,不可獲取,只有等到宣告變數的那一行 出現,才可以獲取和使用該變數 2 函式宣告語句和函式表示式的區別 函式宣...

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用來定義變數,但是定義之後的值不能再次更改了。乙個實際的用途是用來定義引入的模組,...