ES6學習心得

2022-08-23 09:39:08 字數 4331 閱讀 8471

解構賦值應用場景:

1.交換變數:

let a=1;

let b=2;

[a,b]=[b,a];

console.log(a,b); //2,1

2.獲取對應引數

let metadata=]

}let ]}=metadata;

console.log(estitle,cntitle); //abc,test

正規表示式:

修飾符y:

let s="bbb_bb_b";

let a1=/b+/y;

a1.exec(s);

//輸出'bbb'

a1.exec(s);

//輸出null 因為會從'bbb'之後的'_'開始匹配

修飾符g:

下一次執行,從找到符合的字元開始,或沒有找到

let s="bbb_bb_b";

let a1=/b+/g;

a1.exec(s);

//輸出'bbb'

a1.exec(s);

//輸出'bb' 會跳過'_',從下乙個'b'開始查詢匹配的字元

字串:

let str='string';

console.log('include',str.includes("q")); //

false 字串中是否包含

console.log('start',str.startswith('str')); //

true 字串是否以'str'開頭

console.log('end',str.endswith('ing')); //

true 字串是否以'ing'結尾

字串複製:

let str="abc";

console.log(str.repeat(3)); //

輸出 abcabcabc

字串補白:

console.log('1'.padstart(2,'0'));  //

輸出01,應用場景:時間=>當不足10時,在前面補『0』

console.log('1'.padend(2,'0')); //

輸出10,向後補

保留轉義字元'\':

console.log(string.raw`hi\n$`);  //

hi\n3

console.log(`hi\n$`); //

hi // 3

數值擴充套件:

console.log(0b11111100111);     //

2023 二進位制形式

console.log('b',0b11111100111);//

b 2023

console.log(0o767); //

503 八進位制形式

//是否有限

console.log('15',number.isfinite(15)); //

15 true

console.log('nan',number.isfinite(nan)); //

nan false

console.log('1/0',number.isfinite('true'/0)); //1/0 false

console.log('nan',number.isnan(nan)); //

是不是nan

console.log('0',number.isnan(0));

//是不是整數

console.log('25',number.isinteger(25)); //

15 true

console.log('25.0',number.isinteger(25.0)); //

25.0 true

console.log('25.1',number.isinteger(25.1)); //

25.1 false

console.log('asd',number.isinteger('asd')); //

asd false

console.log(number.max_safe_integer);

//9007199254740991 數的上限

console.log(number.min_safe_integer);//

-9007199254740991 數的下限

console.log('10',number.issafeinteger(10));//

10 true 是否在有效範圍之內

console.log('a',number.issafeinteger('a')); //

a false

console.log(4.1,math.trunc(4.1));//

4.1 4 取整

console.log(4.9,math.trunc(4.9));//

4.9 4

//判斷正負

console.log('-5',math.sign(-5)); //

-5 -1

console.log('0',math.sign(0)); //

0 0

console.log('5',math.sign(5)); //

5 1

console.log('51',math.sign('51')); //

51 1

console.log('a',math.sign('a')); //

a nan

//立方根

console.log('-1',math.cbrt(-1)); //

-1 -1

console.log('8',math.cbrt(8)); //

8 2

陣列擴充套件:

let arr=array.of(3,4,7,9,11);

console.log('arr=',arr); //

arr= [3, 4, 7, 9, 11]

let empty=array.of();

console.log('empty',empty); //

empty

let p=document.queryselectorall('p');

let parr=array.from(p);

parr.foreach(

function

(item));

//輸出各個p標籤的內容

console.log(array.from([1,3,5],function(item)));//

[2,6,10]

console.log('fill-7',[1,'a',undefined].fill(7)); //

[7,7,7]

console.log('fill,pos',['a','b','c'].fill(7,1,3)); //

["a",7,7]

console.log('fill,pos',['a','b','c','a','b','c'].fill(7,1,3)); //

["a", 7, 7, "a", "b", "c"]

for(let index of ['1','c','ks'].keys())

//0 1 2

for(let value of ['1','c','ks'].values())

//1 c ks

for(let [index,value] of ['1','c','ks'].entries())

//0 1,1 c,2 ks

console.log([1,2,3,4,5].copywithin(0,3,5));//

[4, 5, 3, 4, 5]

console.log([1,2,3,4,5,6].find(function(item)));//

4console.log([1,2,3,4,5,6].findindex(function(item)));//

3console.log('number',[1,2,nan].includes(1));//

true

console.log('number',[1,2,nan].includes(nan));//

true

es6學習心得2 解構賦值

es6為我們提供了乙個非常好用的方法 解構賦值,解構賦值的好處是我們可以快速的把乙個屬性從物件或者陣列中取出,並且賦值給我們的變數使用,舉個簡單的兩個例子,首先宣告乙個物件a 我們如果想要拿到age屬性,按照es5之前的方式,需要宣告乙個變數b,並且讓b a.age 來完成取值賦值的過程,但是到了e...

學習心得(6)

11.30快四級考了 又臨近期中考 題量有所下降 並且部分演算法仍然有疑惑 看來又得繼續忙了 新加了vj的訓練題 usaco 1.4.2 這題是usaco裡最暴力 的一題 include include include include include using namespace std int ...

ES6學習筆記

let 塊變數 作用域為塊 const 常亮 作用域為當前塊 解構賦值 例 var x,y 1,2 字元擴充套件 at includes startswith endswith repeat codepointat 模板字串 例 正則的uiy 數值擴充套件 number.isfinite numbe...