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.mzph.cn/news/168912.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软著项目推荐 深度学习 python opencv 火焰检测识别 火灾检测

文章目录 0 前言1 基于YOLO的火焰检测与识别2 课题背景3 卷积神经网络3.1 卷积层3.2 池化层3.3 激活函数:3.4 全连接层3.5 使用tensorflow中keras模块实现卷积神经网络 4 YOLOV54.1 网络架构图4.2 输入端4.3 基准网络4.4 Neck网络4.5 Head输出层 5 数据集准备5.1 数…

Shell编程基础 – 变量(Variables)

Shell编程基础 – 变量(Variables) Shell Scripting Essentials – Variables Bash变量作为shell脚本的重要组成部分,提供了在Unix/Linux命令行界面操作和保存数据的方法。 本文简要介绍Bash Shell脚本变量的基础知识以及应用,包…

python实现炫酷的屏幕保护程序!

今天写了桌面保护程序。先来看看效果吧。 完全可以作为屏保程序了,老方式:以下是实现的代码: from tkinter import *from time import strftime​def update_time():global i, j current_time strftime(%H:%M:%S)time_label.config(textcu…

android BSP 开发总结之三

1.把Android源码导入Android Studio进行调试 源码下载完成后,先编译。 如下sample, projects不同编译命令不同 $ source build/envsetup.sh $ lunch aosp_flounder-userdebug $ make -j8 ( 8代表CPU核数 ) 编译idegen这个项目,生成idegen.jar文件.…

arp报文及使用go实现

一、ARP协议报文格式及ARP表 ARP(Address Resolution Protocal,地址解析协议)是将IP地址解析为以太网的MAC地址(或者称为物理地址)的协议。在局域网中,当主机或其他网络设备有数据要发送给另一个主机或设备…

开源语音大语言模型来了!阿里基于Qwen-Chat提出Qwen-Audio!

论文链接:https://arxiv.org/pdf/2311.07919.pdf 开源代码:https://github.com/QwenLM/Qwen-Audio 引言 大型语言模型(LLMs)由于其良好的知识保留能力、复杂的推理和解决问题能力,在通用人工智能(AGI&am…

现代图标集wxArtProvider发布 —— 发布于2023年11月21日

Perazz发布了wxMaterialDesignArtProvider,这是一个自定义的wxArtProvider类,从MaterialDesign、SimpleIcons、FontAwesome和FluentUI系统数据集中提供基于SVG的图标。所有这些数据集都有许可证(MIT、CC BY 4.0、CC0 1.0、Apache 2.0&#xf…

打破障碍:2024年赋能企业人工智慧生成创新-5个应用场景与6个转型步骤

想要了解如何采用生成式AI来提高企业效率和竞争力?本指南将介绍如何采用生成式AI来实现数字化转型,并打造智能化商业模式。从5大应用场景和6大步骤切入,让您了解如何开启生成式AI创新。立即连线创新专家咨询或观看创新战略方案视频进一步了解…

Leetcode—58.最后一个单词的长度【简单】

2023每日刷题&#xff08;四十&#xff09; Leetcode—58.最后一个单词的长度 实现代码 int lengthOfLastWord(char* s) {int len strlen(s);int left 0, right 0;if(len 1) {return 1;}while(right < len) {if(right 1 < len) {if(s[right] && s[righ…

python 批量将图片存入excel单元格内

python 批量将图片存入excel单元格 示例代码1示例代码2 示例代码1 https://blog.csdn.net/wuyoudeyuer/article/details/128185284 # -*- coding: utf-8 -*- # Time : 2022-12-05 # Author : Carl_DJ 实现功能&#xff1a;在excel中&#xff0c;对应的名称后面&#xff0c;…

【spring(五)】SpringMvc总结 SSM整合流程

目录 一、SpringMVC简介&#xff1a; 二、SpringMVC快速入门&#xff1a; 三、SpringMVC bean的管理&#xff1a;⭐ ①配置bean ②扫描bean 四、SpringMVC配置类&#xff1a;⭐ 五、SpringMVC 请求与响应 六、SpringMVC REST风格 七、SSM整合 异常处理&#xff1a; 八、…

今日现货白银价要素分析

现货白银市场每天走势图上的K线&#xff0c;都是由开盘价、收盘价、最高价、最低价四个价格要素组成。K线作为一种特殊的市场语言&#xff0c;不同具体的形态有不同的含义&#xff0c;当收盘价高于开盘价就形成阳线&#xff0c;反之就形成阴线。 如果阳线出现在银价盘整或行情下…

位图的详细讲解

位运算操作符&#xff1a;或&#xff0c;与&#xff0c;异或&#xff0c;按位取反。 操作符 |两个中有一个是一则为一&两个都是一则为一^相同为零&#xff0c;不同为一~零变成一&#xff0c;一变成零 什么是位运算符: 位运算是直接对整型数据的二进制进行运算。 位图概念…

springsecurity6配置三

springsecurity配置多种登录方式,比如手机验证码登录、邮箱登录、微信小程序登录等,下面就以微信小程序登录为例进行讲解。 一、小程序用户实体实现springsecurity中的UserDetails接口 package com.school.information.core.security.entity;import com.alibaba.fastjson.a…

基于UI交互意图理解的异常检测方法

美团到店平台技术部/质量工程部与复旦大学周扬帆教授团队开展了科研合作&#xff0c;基于业务实际场景&#xff0c;自主研发了多模态UI交互意图识别模型以及配套的UI交互框架。 本文从大前端质量保障领域的痛点出发&#xff0c;介绍了UI交互意图识别的方法设计与实现。基于UI交…

告别百度网盘,搭建自己的专属网盘 ——Cloudreve,不限制下载速度!

Cloudreve 是一个用 Go 语言写的公有网盘程序,我们可以用它来快速搭建起自己的网盘服务,公有云 / 私有云都可。 顺哥博客 先来看看文档介绍吧。 支持多家云存储驱动的公有云文件系统. 演示站 • 讨论社区 • 文档 • 下载 • Telegram 群组 • 许可证 :sparkles: 特性 :cl…

初学剪辑者找视频素材就上这6个网站

视频剪辑必备的6个素材网站&#xff0c;高清无水印&#xff0c;还可以免费下载&#xff0c;无版权限制&#xff0c;赶紧收藏起来&#xff01; 1、菜鸟图库 https://www.sucai999.com/video.html?vNTYxMjky 菜鸟图库网素材非常丰富&#xff0c;网站主要以设计类素材为主&#…

1 Python实现23种计模式

23种计模式之Python实现&#xff08;史上最全最通俗易懂&#xff09; 第一篇 Python与设计模式&#xff1a;前言 第二篇&#xff08;23种设计模式&#xff09; 1 创建类设计模式&#xff08;5种&#xff09; 单例模式 工厂模式 简单工厂模式 抽象工厂模式 建造者模式 原型…

初始linux:文件操作

目录 提示&#xff1a;以下指令均在Xshell 7 中进行 linux的理念 一、echo echo "字符串" 二、输出重定向 > > [文件] echo "字符串" > [文件] echo "字符串" > > [文件] 制作大文件 三、< 输入重定向与ca…

短视频ai剪辑矩阵分发saas系统源头技术开发

抖音账号矩阵系统是基于抖音开放平台研发的用于管理和运营多个抖音账号的平台。它可以帮助用户管理账号、发布内容、营销推广、分析数据等多项任务&#xff0c;从而提高账号的曝光度和影响力。 具体来说&#xff0c;抖音账号矩阵系统可以实现以下功能&#xff1a; 1.多账号多…