当前位置: 首页 > 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时,就会返回左侧的值,否则会返回右侧的值。

相关文章:

es6新特性总结

1、支持了let和const,为了防止var声明变量带来的变量提升 (1)、存在块级作用域不存在变量提升(考虑暂时性死区) (2)、不允许重复声明(包括普通变量和函数参数)变量提升…...

Spring Boot + hutool 创建海报图片

Spring Boot hutool 创建海报图片 /*** 分享,生成图片* param id* return*/GetMapping("/getShareImg")public void getShareImg(String id,HttpServletResponse response) throws IOException {CouponConsignSaleClassify byId couponConsignSaleClassifyService…...

0002Java程序设计-springboot在线考试系统小程序

文章目录 **摘 要****目录**系统实现开发环境 编程技术交流、源码分享、模板分享、网课分享 企鹅🐧裙:776871563 摘 要 本毕业设计的内容是设计并且实现一个基于springboot的在线考试系统小程序。它是在Windows下,以MYSQL为数据库开发平台&…...

Linux(Centos)上使用crontab实现定时任务(定时执行脚本)

场景 Windows中通过bat定时执行命令和mysqldump实现数据库备份: Windows中通过bat定时执行命令和mysqldump实现数据库备份_mysqldump bat-CSDN博客 上面讲windows中使用bat实现定时任务的方式,如果是在linux上可以通过crontab实现。 cron是服务名称。…...

【Leetcode合集】20. 有效的括号

20. 有效的括号 20. 有效的括号 代码仓库地址: https://github.com/slience-me/Leetcode 个人博客 :https://slienceme.xyz 给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串…...

OpenGL 绘制线(Qt)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 这里同样对OpenGL中的绘制线操作进行封装,便于后续的操作,很多形状也都是基于线来生成的,如圆形等。 二、实现代码 LineDrawable.h #ifndef LINE_DRAWABLE_H #define LINE_DRAWABLE_H#include...

Java | 多线程并发编程CountDownLatch实践

关注:CodingTechWork 引言 在一次数据割接需求中,数据需要通过编程的方式进行转移割接到新平台,此时若串行化方式,无疑会拉锯此次战斗,所以首当其冲要使用并发编程来降低割接时长。  本次主要考虑使用CountDownLatc…...

分布式定时任务系列6:XXL-job触发日志过大引发的CPU告警

传送门 分布式定时任务系列1:XXL-job安装 分布式定时任务系列2:XXL-job使用 分布式定时任务系列3:任务执行引擎设计 分布式定时任务系列4:任务执行引擎设计续 分布式定时任务系列5:XXL-job中blockingQueue的应用 …...

Spark RDD、DataFrame和Dataset的区别和联系

一、三种数据介绍 是Spark中的三种不同的数据结构,它们都可以用于分布式数据处理,但是它们的实现方式和使用方法略有不同。 RDD(弹性分布式数据集) RDD是Spark最初的核心数据结构,它是一个分布式的、只读的、可容错的…...

代码随想录算法训练营第四十五天|139.单词拆分、背包问题总结

LeetCode 139. 单词拆分 题目链接:139. 单词拆分 - 力扣(LeetCode) 这道题使用完全背包来实现,我们首先考虑字符串是否可以由字符串列表组成,因此dp数组大小为n 1 ,其意义是,在n个位置时是否能…...

深度学习卫星遥感图像检测与识别 -opencv python 目标检测 计算机竞赛

文章目录 0 前言1 课题背景2 实现效果3 Yolov5算法4 数据处理和训练5 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **深度学习卫星遥感图像检测与识别 ** 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐…...

wxWidgets 3.2.4发布 —— 发布于2023年11月11日

稳定的3.2系列中的另一个版本现在可以在GitHub上获得。您可以在那里找到包含库源代码和文档的归档文件,以及所选Windows编译器(如Microsoft Visual C、MinGW-w64和TDM-GCC)的二进制文件。您还可以阅读此版本的更新文档,特别是&…...

PyQt6运行QTDesigner生成的ui文件程序

2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计18条视频,包括:2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~、第2讲 PyQt6库和工具库Q…...

基于mediapipe的人手21点姿态检测模型—CPU上检测速度惊人

前期的文章,我们介绍了MediaPipe对象检测与对象分类任务,也分享了MediaPipe的人手手势识别。在进行人手手势识别前,MediaPipe首先需要进行人手的检测与人手坐标点的检测,经过以上的检测后,才能把人手的坐标点与手势结合起来,进行相关的手势识别。 MediaPipe人手坐标点检测…...

系统架构设计: 21 论敏捷软件开发方法及其应用

论敏捷软件开发方法及其应用 请围绕“敏捷软件开发方法及其应用”论题,依次从以下三个方面进行论述。 ①简述你所参与开发的运用了敏捷技术的项目,以及你所担任的工作; ②分析并讨论敏捷<...

【深度学习】脸部修复,CodeFormer,论文,实战

代码&#xff1a; https://github.com/sczhou/CodeFormer https://huggingface.co/spaces/sczhou/CodeFormer 论文&#xff1a;https://arxiv.org/abs/2206.11253 Towards Robust Blind Face Restoration with Codebook Lookup Transformer 文章目录 论文摘要1 引言2 相关工…...

OpenGL_Learn14(光照贴图)

1. 漫反射贴图 在光照场景中&#xff0c;它通常叫做一个漫反射贴图(Diffuse Map)&#xff08;3D艺术家通常都这么叫它&#xff09;&#xff0c;它是一个表现了物体所有的漫反射颜色的纹理图像。 我们会将纹理储存为Material结构体中的一个sampler2D 。我们将之前定义的vec3漫反…...

【JVM精讲与GC调优教程(概述)】

如何理解虚拟机(JVM)跨语言的平台 java虚拟机根本不关心运行在其内部的程序到底是使用何种编程语言编写的,他只关心“字节码”文件。 java不是最强大的语言,但是JVN是最强大的虚拟机。 不存在内存溢出? 内存泄露? JAVA = (C++)–; 垃圾回收机制为我们打理了很多繁琐的…...

蓝桥杯物联网竞赛_STM32L071_2_继电器控制

Stm32l071原理图&#xff1a; PA11与PA12连接着UNL2803 ULN2803是一种集成电路芯片&#xff0c;通常被用作高电压和高电流负载的驱动器。 ULN2803是一个达林顿阵列&#xff0c;当输入引脚&#xff08;IN1至IN8&#xff09;被连接到正电源时&#xff0c;相应的输出引脚&#xff…...

python之pyqt专栏2-项目文件解析

项目结构 在上一篇文章python之pyqt专栏1-环境搭建&#xff0c;创建新的pyqt项目&#xff0c;下面我们来看一下这个项目下的文件。 从下面的文件结构图可以看到&#xff0c;该项目下有3个文件&#xff0c;untitled.ui,untitled.py 以及main.py。 QtDesigner可以UI界面的方式&am…...

从BERT到ViT:聊聊那个“借”来的CLS Token,以及我们真的需要它吗?

从BERT到ViT&#xff1a;聊聊那个“借”来的CLS Token&#xff0c;以及我们真的需要它吗&#xff1f; 在计算机视觉领域&#xff0c;Vision Transformer&#xff08;ViT&#xff09;的出现彻底改变了传统CNN主导的格局。而其中最具争议的设计之一&#xff0c;莫过于那个从NLP领…...

嵌入式系统模型检查与执行时间分析技术

1. 模型检查与可达性分析基础在嵌入式系统开发中&#xff0c;形式化验证技术正变得越来越重要。模型检查作为其中的关键技术之一&#xff0c;能够系统地验证系统是否满足特定的时态逻辑规范。让我们从一个实际案例开始理解这个概念。案例&#xff1a;汽车刹车系统验证想象一个电…...

别再手动改MTL了!一个Python脚本搞定ENVI打开Landsat8 Collection2 Level2数据

别再手动改MTL了&#xff01;一个Python脚本搞定ENVI打开Landsat8 Collection2 Level2数据 遥感数据处理中&#xff0c;最令人头疼的莫过于遇到格式兼容性问题。最近在USGS下载的Landsat8 Collection2 Level2数据就给我带来了这样的困扰——ENVI竟然无法直接读取其MTL元数据文件…...

别再被老视频的“毛边”困扰了!手把手教你用TW9912芯片搞定隔行转逐行(附原理详解)

告别隔行扫描困扰&#xff1a;TW9912芯片实战指南与画质优化 想象一下&#xff0c;当你翻出珍藏多年的家庭录像带&#xff0c;满怀期待地将其数字化后&#xff0c;却发现播放时画面布满锯齿和闪烁——这种失落感恐怕只有经历过的人才能体会。隔行扫描技术曾是电视黄金时代的基石…...

Origin数据清洗实战:从杂乱原始数据到整洁可绘图数据的完整流程

Origin数据清洗实战&#xff1a;从杂乱原始数据到整洁可绘图数据的完整流程 科研数据处理的第一步往往不是激动人心的图表绘制&#xff0c;而是面对一堆杂乱无章的原始数据时的茫然无措。想象一下这样的场景&#xff1a;你刚完成实验&#xff0c;仪器导出的Excel表格里混杂着测…...

基于ESP32的气象雷达站设计与实现

1. 项目概述这个基于ESP32的气象雷达站项目&#xff0c;是我最近完成的一个物联网气象监测解决方案。它通过7英寸触摸屏实时展示气象雷达图、云层覆盖、降雨强度和详细的多日预报数据。整套系统硬件成本控制在500元以内&#xff0c;却实现了接近专业气象站的功能体验。核心设计…...

别再混淆了!一文讲清Xilinx 7系列FPGA中HP Bank与HR Bank的SelectIO区别(含IDELAY/ODELAY详解)

深入解析Xilinx 7系列FPGA中HP与HR Bank的SelectIO架构差异 在Xilinx 7系列FPGA的设计实践中&#xff0c;IO Bank的选择往往直接影响着系统性能和信号完整性。许多工程师在初次接触HP&#xff08;High Performance&#xff09;和HR&#xff08;High Range&#xff09;两种Bank…...

JasperReports生成PDF中文乱码?手把手教你搞定字体配置(附fonts.jar打包教程)

JasperReports中文PDF生成终极指南&#xff1a;从字体配置到生产环境部署 你是否遇到过这样的场景&#xff1f;在JasperStudio里精心设计的中文报表模板&#xff0c;预览时一切正常&#xff0c;但一旦集成到Java应用中生成PDF&#xff0c;中文内容就神秘消失了——要么变成乱码…...

KUKA C2通讯故障排查实录:从‘扫描器出错’到电源电压,我踩过的那些坑

KUKA C2通讯故障排查实战手册&#xff1a;从电源电压到数据一致性的深度解析 当KUKA机器人投入产线运行后&#xff0c;最令人头疼的莫过于那些神出鬼没的通讯故障。作为一名经历过无数次深夜抢修的工程师&#xff0c;我深知一个看似简单的"扫描器出错"背后可能隐藏着…...

Kubernetes Pod安全实战:别再让容器用root乱跑了,手把手教你配置SecurityContext的runAsUser

Kubernetes安全实践&#xff1a;彻底告别容器root权限的5种防御策略 凌晨三点&#xff0c;某电商平台的数据库突然被清空。调查发现&#xff0c;攻击者通过一个以root权限运行的Redis容器&#xff0c;利用挂载的宿主目录权限漏洞植入了挖矿程序。这不是虚构情节——2022年CNCF安…...