当前位置: 首页 > news >正文

es6新特性总结


1、支持了let和const,为了防止var声明变量带来的变量提升

(1)、存在块级作用域不存在变量提升(考虑暂时性死区)

(2)、不允许重复声明(包括普通变量和函数参数)变量提升


2、模块化:可以将需要导出的变量或者函数前面加入export代表导出,通过import导入对应的变量或者方法


3、支持解构:可以从数组或对象中取值

//从数组中取值
const arr = [1,3,5,7]
let [a,b] =arr
//取出指定数组中的值
const arr =[1,3,5,7]
let [a,,,d] =arr
//这样可以获取第一和最后一个对象的值,中间的可以用空格代替,一次类推
//从对象中取值
const obj ={
a:1,
b:2,
c:3,
d:4}let {a:k, b:l, c, d}=obj
//这样前两个对象可以修改默认变量名称,后两个对象正常取值

交换两个变量的值:

let a =1;
ler b =3;
[a,b] = [b,a]
//这样就实现了值的交换

4、支持扩展运算符

(1)、拷贝数组

let arr=[1,2,3];
let arr1=[...arr];

(2)、合并数组

let arr1 =[0,1,2];
let arr2 =[3,4,5];
let arr3 =[...arr1, ...arr2];
let arr4 =[8,7, ...arr2, 9];

5、将数组扩展为函数参数

function assions(x,y,z){retun x+y+z
}
const numbers=[1,2,3];assions(...numvers)

6、克隆对象、合并对象

let obj1={name:'zhangsan', age:'18'};
let obj2={city:'guizhou'};
//克隆
let obj3={...obj1};//合并
let obj4={...obj1, ...obj2}

7、排除一些对象属性

let params={name:'张三',age:'18',type:'1'}
//比如我们要排除type属性那么:let{type, ...other}=params

8、直接在参数上赋值

function assions (age=18, type=1){//.............
}

9、支持对象属性简写

//一般情况下
const name = '张三', age='18', city='guizhou';
const userInfo ={
name:name,
age:age,
city:city
};
//当对象属性值和值的变量名称一样的时候
const name = '张三', age='18', city='guizhou';
const userInfo ={
name,
age,
city
};
//也可以达到一样的效果。

10、支持async、await异步调用方式

async function assions(params){
let res = await getList(params){
if(res.code === 1){//....这样可以做到异步方法有同步函数的效果需要等待函数assinos方法使用成功后才能执行后面的方法}}}

11、支持includes方法

let arr=['si','wu','liu'];
//判断数组中是否包含wu的时候就可以使用includes方法
if(arr.includes('wu')){
}
//如果返回true就表示包含

12、支持指数操作符

2**10=1024

13、支持操作对象的方法object.keys、object.values、object.entries

object.keys:
const obj ={a:1, b:2, c:3};
const keys = object.keys(obj); //[a,b,c]
//获得的是对象key的集合object.values//获得的是对象值的集合
const obj ={a:1, b:2, c:3};
const values = object.values(obj);//[1,2,3]object.entries//获得的是对象的键值对集合
const obj ={a:1, b:2, c:3};
const values = object.entries(obj);//[ [a,1],[b,2],[c,3]]

14、模板字符串

const name ='张三';
const age = 18;
const myInfo = ` my name is ${name},  my age is ${age}.`//同时支持变量运算
const result = `${name} ${age >= 18? '成年!': '未成年!'}`;

15、null判断运算符

const ossings = response.data ?? '404'
//左侧的值不为null或者undefined时,就会返回左侧的值,否则会返回右侧的值。

http://www.lryc.cn/news/242636.html

相关文章:

  • Spring Boot + hutool 创建海报图片
  • 0002Java程序设计-springboot在线考试系统小程序
  • Linux(Centos)上使用crontab实现定时任务(定时执行脚本)
  • 【Leetcode合集】20. 有效的括号
  • OpenGL 绘制线(Qt)
  • Java | 多线程并发编程CountDownLatch实践
  • 分布式定时任务系列6:XXL-job触发日志过大引发的CPU告警
  • Spark RDD、DataFrame和Dataset的区别和联系
  • 代码随想录算法训练营第四十五天|139.单词拆分、背包问题总结
  • 深度学习卫星遥感图像检测与识别 -opencv python 目标检测 计算机竞赛
  • wxWidgets 3.2.4发布 —— 发布于2023年11月11日
  • PyQt6运行QTDesigner生成的ui文件程序
  • 基于mediapipe的人手21点姿态检测模型—CPU上检测速度惊人
  • 系统架构设计: 21 论敏捷软件开发方法及其应用
  • 【深度学习】脸部修复,CodeFormer,论文,实战
  • OpenGL_Learn14(光照贴图)
  • 【JVM精讲与GC调优教程(概述)】
  • 蓝桥杯物联网竞赛_STM32L071_2_继电器控制
  • python之pyqt专栏2-项目文件解析
  • Kafka 集群如何实现数据同步
  • opencv- CLAHE 有限对比适应性直方图均衡化
  • IOS免签封装打包苹果APP的方法
  • Springboot引入分布式搜索引擎Es RestAPI
  • Lua脚本解决redis实现的分布式锁多条命令原子性问题
  • Vatee万腾独特科技力量的前沿探索:Vatee的数字化奇点
  • C++面试,const的使用
  • 小总结----长度
  • 【深度学习】如何选择神经网络的超参数
  • jQuery 3.0 新增了哪些特性?(jQuery 3 所引入的那些最重要的变化)
  • MindStudio学习一 整体介绍