拥抱ES6(二)

es简介

es6也称es2015,在原生js的基础上新加入了一些好用的方法,加快开发。由于是新特性,很多浏览器还不支持,请使用高版本主流浏览器进行测试,如谷歌浏览器。其实还有其他的特性,这里只介绍一下相对常用的。

try catch

// old 
try {
    // do something 
} catch (err){
    console.log(err)
}

//new

try {
    // do something 
} catch{
    //  do something  when error
}

使用场景

  • 对具体错误信息并不关心,反正走到这里就是出问题了,可概述为程序异常

  • 具体情况具体分析,es2019只是将catch的参数变成了可选

Symbol.prototype.description

console.log(Symbol("高芊").description)//高芊

使用场景

  • 用于获取symbol的描述信息,使用频率不高,只能说存在即合理

Object.entries

var user={
  name:"高芊",
  like:"code"
}

console.log(Object.entries(user))  //[["name","高芊"],["like","code"]]

使用场景

  • 对象转数组

Object.fromEntries

var arr=[["name","高芊"],["like","code"]];
console.log(Object.fromEntries(arr));

// {name:"高芊",like:"code"}

var map=new Map([["name","高芊"],["like","code"]]);
console.log(Object.fromEntries(map));

// {name:"高芊",like:"code"}

使用场景

  • 对象(或Map)转数组

trimStart/trimEnd

trimLeft和trimRight分别是trimStart和trimEnd的别名,功能一样。去除空格前后,字符串长度随之改变。

var str1="高芊   ";
var str2="   高芊";
console.log(str1.trimEnd())//高芊
console.log(str1.trimStart())//高芊
console.log(str1.trimRight())//高芊
console.log(str1.trimLeft ())//高芊
console.log(str1.length)//5
console.log(str1.trimEnd().length)//2

使用场景

  • 清除空格

flat/flatMap

var arr=[[1,2,3]]
console.log(arr.flat())
//[1,2,3]
var infiniteArr=[[1,[2,[3,4]]]]
//使用Infinity解决多层次嵌套问题
console.log(infiniteArr.flat(Infinity))
//[1,2,3,4]

var msg=["我喜欢你","真的"];
console.log(msg.map(m=>m.split("")))
//[["我", "喜", "欢", "你"],["真","的"]]
console.log(msg.flatMap(m=>m.split("")))
//["我", "喜", "欢", "你","真","的"]

使用场景

  • 数组扁平化
发布了457 篇原创文章 · 获赞 796 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/qq_42813491/article/details/104028354