ES6常见用法补充

一、关于取值方面

ES6通过解构来取值

如果不用解构,我们平时是怎么取值的?以对象为例

const obj = {
    name:'flx',
    age:24,
}

//  如果不用解构我们怎么取值?
const myName = obj.name; // flx
const myAge = obj.age; // 24

如果用解构,是怎样取值的呢?

const {name,age} = obj; // name  flx    age  24

是不是很方便,如果多个属性的话会更方便。

如果想自己创建一个变量名,但这个变量名和被解构对象的变量名不一致咋办?

const obj = {
    name:'flx',
    age:24,
}


const { name, age:flxAge } = obj   // name flx   flxAge 24

二、关于扩展运算符方面

扩展运算符就是三个点“…”,就是将实现了Iterator 接口的对象中的每个元素都一个个的迭代并取出来变成单独的被使用。

const obj1 = {
  fname:'flx',
  fdate:'1997-12-07'
}
const obj2 = {
  zname:'zy',
  zdate:'1997-10-12'
}

const obj = {...obj1,...obj2};//{fname:'flx',fdate:'1997-12-07',zname:'flx',zdate:'1997-12-07'}

三、ES6 新增常见函数的操作

Array.includes()函数判断是否包含某一元素。它直接返回true或者false表示是否包含元素,对NaN一样能有有效。
以if中常用判断条件举例

// 不用`includes()`方法时
if(
    type == 1 ||
    type == 2 ||
    type == 3 ||
    type == 4 ||
){
   //...
}




// 用includes()方法时
const condition = [1,2,3,4];

if( condition.includes(type) ){
   //...
}

Arr.filter() 检测数值元素,并返回符合条件所有元素的数组。
Arr.find() 返回符合测试条件的第一个数组元素值,如果没有符合条件的则返回 undefined。
这两个都是搜索用的,区别在于后者找到符合条件的项,就不会继续遍历数组。前者会遍历所有数据

代码例子:

//  filter 方法
const data = [{name:'flx',age:'24'},{name:'zy',age:'24'}];
const result = data.filter( 
  item =>{
    return item.name === 'zy'
  }
)

//  find方法
const data = [{name:'flx',age:'24'},{name:'zy',age:'24'}];
const result = data.find( 
  item =>{
    return item.name === 'flx'
  }
)

一篇非常好的文章,推荐大家阅读: https://blog.csdn.net/qq_28875189/article/details/105673787

Array.flat() 扁平化数组

// flat()默认只会拉平一层,flat(n)拉平n层,Infinity无限次
var arr = [1, 2, [3, 4]].flat();
console.log(arr) // [1, 2, 3, 4]

var arr = [1, 2, [3, [4, 5]]].flat(2)
console.log(arr) // [1, 2, 3, 4,5]

四、ES6中新出的空值合并运算符

//  没用空值合并运算符之前,判断空值的方法
if(value !== null && value !== undefined && value !== ''){
    //...
}


//  用空值运算符以后的方法
if(value??'' !== ''){
  //...
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值