你用过哪些ES6

1.解构
1.对象 解构赋值(从对象中取值)
const person = {
    name:1,
    age:2,
    sex:'男'
}
const {name,age,sex} = person;
// 还可以自定义名称,如果你不想叫name,想叫myName
const {name:myName,age,sex} = person;

注意:解构对象不能是undefined,null,否则会报错

场景:从后台获取的数据中取值时很有可能出现上述情况,要么非空判断,要么如下处理:

const {name:myName,age,sex} = person || {};

在这里插入图片描述

2.数组的解构(快速实现值得交换)
let a = 'world';let b = 'hello';
[a,b]=[b,a]
console.log(a,b)// hello world
2. 对象、数组的合并
1. 数组合并
const arr1 = [1,2,3]
const arr2 = [3,5,6]
//ES5:合并后不去重的话,concat 方法也可行
const arr = arr1.concat(arr2)  
//ES6:合并后去重的话,利用Set可以去重
const arr = [...new Set([...arr1,...arr2])]

2. 对象展开合并
const obj1= {a:1,b:2}
const obj2= {b:3,c:4}
//ES5:
const obj = Object.assign({},obj1,obj2)
//ES6:
const obj = {...obj1,...obj2}
3.模板字符串
const name = '小花',age=8;
//ES5:引引加加口诀,看着很费劲呐
const str = '我叫'+ name +'今年'+age+'8岁了'
//ES6:反引号,变量${}包裹即可
const str = `我叫${name}今年${age}8岁了`
4.多个||或条件判断
//利用数组新增的方法 includes
if(num==1||num==3||num==6){.....}
//ES6:
const condition = [1,3,6]
if(condition.includes(num)){
    ....
}
5. 数组find findIndex 方法

场景:想找数组中符合某一个条件的一条数据

如果找一条数据的话,用find方法,要比filter方法性能更优,因为find方法找到一个符合条件的就不再继续遍历了

const data = [
    {id:0,name:'zhangsan'},
    {id:1,name:'lisi'},
    {id:2,name:'wangma'},
]
const obj = data.find(item=>item.id==1)
//findIndex 返回符合条件的index
6.数组的扁平化
const obj = {
	person1:[1,2,90],
	person2:[5,8,3],
	person3:[
		[4,5,6],
		[10,6,7]
	],
}
const num = Object.values(obj).flat(Infinity)
//Infinity   无需知道被便ing话数组的维度

在这里插入图片描述

注意:

  • flat 不支持ie浏览器
7.对象的属性名表达式
const arr = ['a','b','c']
const obj = {}
arr.forEach((item,index)=>{
	obj[`api${index}`]=item
})
//obj        {api0: 'a', api1: 'b', api2: 'c'}
8.空值合并运算符(非空判断)
if(value!==null&&value!==undefined&&value!==''){}
//改进
if((value??'')!==''){  }
// 不过我没用过,哈哈  我都用if(value){}else{}

未完。。。。。。。。。。。。。。。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值