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}
标签:ES6,arr,console,log,...,JavaScript,ES9,let,const 来源: https://blog.csdn.net/weixin_45818024/article/details/114935831