ES6学习心得

解构赋值应用场景:

1.交换变量:

let a=1;
let b=2;
[a,b]=[b,a];
console.log(a,b);  //2,1

2.获取对应参数

let metaData={
  title:'abc',
  test:[{
    title:'test',
    desc:'description'
  }]
}
let {title:esTitle,test:[{title:cnTitle}]}=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${1+2}`);  //Hi\n3
console.log(`Hi\n${1+2}`);                 //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){
    console.log(item.textContent);
});//输出各个p标签的内容

console.log(Array.from([1,3,5],function(item){return item*2}));//[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()){
    console.log('keys',index);
}//0  1  2

for(let value of ['1','c','ks'].values()){
    console.log('value',value);
}//1  c  ks

for(let [index,value] of ['1','c','ks'].entries()){
    console.log('value',index,value);
}//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){return item>3}));//4
console.log([1,2,3,4,5,6].findIndex(function(item){return item>3}));//3

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

 

转载于:https://www.cnblogs.com/jingouli/p/7608027.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值