JavaScript中 ES6-ES9中新增的特性

ES6

let : 声明变量、不能重复声明、 具有块级作用域 、不存在变量提升

const :定义常量、定义时要赋值、具有块级作用域、值不能修改、如果定义的是数组或对象则可以修改

解构赋值:

//解构
const obj = {
    name: 'a'
    age: '18'
}
let { name, age } = obj

//赋值
let arr=[13,18,12,'aaa',true,'哈哈哈'];
let [a,b,c,d,e,f]=arr;
console.info(a,b,c,d,e,f)

模板字符串: `  `    支持换行、里面通过  `${ 变量名 }哈哈`      直接拼接  

对象简化写法

let arr = [0, 1, 2, 3]
const obj = {
    arr
}

箭头函数

let fn = (a, b) => {
    return a + b
}
//this  始终指向声明时所在的作用域下的  this

//调用
const result = fn(1, 2)

扩展运算符:   合并、克隆、 可以将伪数组转化为数组

//数组
let arr1 = [1, 2, 3]
let arr2 = [a, b, c]
let arr = [...arr1, ...arr2]
console.log(arr) // [1 ,2, 3, a, b, c]

Promise:主要解决异步编程 回调地狱

set:可以对数组进行去重

let arr1 = [1, 2, 1, 3, 4, 3, 5]
const arr = [...new Set(arr1)]
console.log(arr) // [1, 2, 3, 4, 5]

 模块化:指将一个大的程序文件拆分成多个小的文件,然后将小的文件组合起来 

 好处:防止命名冲突、提高代码复用性、高维护性

 

ES7

Arrey.prototype.includes

includes:用于检测数组中是否包含某个元素,返回布尔值类型

const arr = [1, 2, 3, 4, 5]
console.log(arr.includes('2'))    // true

 

指数操作符:[ ** ] 用来实现幂运算,功能与Math.pow结果相同console.lo

console.log(2 ** 10)  // 计算2的十次方
console.log(Math.pow(2, 10)) 

 

ES8

async  await  :可以让异步代码像同步代码一样

 

ES9

 新增了对于对象的扩展运算

//对象  
let obj1 = {
    name: 'aa'
}
let obj2 = {
    age: '12'
}
let obj = {...obj1, ...obj2}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值