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

ES6 基础

文章目录

  • 1. 初识 ES6
  • 2. let 声明变量
  • 3. const 声明常量
  • 4. 解构赋值

1. 初识 ES6

ECMAScript6.0(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了。它的目标,是使得」JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。

在这里插入图片描述

2. let 声明变量

  1. let 声明变量是局部变量
    var 声明变量会变成全局变量;
{var i = 0;}console.log(i); // 0 

而let 声明变量则是局部变量;

{let i = 0;}console.log(i); // 报错
  1. 不允许重复声明

使用var 重复声明变量: 覆盖之前的值
在这里插入图片描述

使用let 重复声明变量:报错!
在这里插入图片描述

  1. 变量提升没有了

暂存/时性死区:
在代码块中使用let 变量定义之前变量是不可用的且该变量是存在的,此时我们把这块内容称作暂存/时性死区。

  1. 不与顶层对象挂钩
    在这里插入图片描述
    // 100

在这里插入图片描述
// undefined

3. const 声明常量

  1. const 声明的是常量,需要在声明时就赋值,后期值不可以修改;

  2. 不能重复定义;

  3. 出现在块级定义域中为局部变量,外部不可访问;

  4. 声明不提升,会出现暂存性死区

  5. 不与顶层对象挂钩
    在这里插入图片描述
    // undefined

const 声明常量一般是不可以被再次赋值的,但是如果const 定义的常量是一个对象(复杂数据类型),那么该变量只是存储了一个地址信息,通过obj.xxx 还是可以进行修改的。
在这里插入图片描述

如果不想要该变量被修改就需要使用到freeze(),但是该函数只能冻住第一层属性,如果属性值是复杂数据类型,那么还是能够进行修改的。
在这里插入图片描述

4. 解构赋值

解构赋值,就是快速的从对象或者数组中取出成员的一个语法方式。

  1. 数组传参
    在这里插入图片描述
    // a=1 b=2 c=3

两个变量交换值:
之前需要定义临时变量进行辅助,而现在
在这里插入图片描述
在这里插入图片描述
// a = 1

在这里插入图片描述
// a = 3

在这里插入图片描述
// b = 2

  1. 对象传参
    在这里插入图片描述
    // kerwin 100

在这里插入图片描述
// 报错
因为code 变量定义了两次
这种情况我们采用以下写法
let {data, code:co} = res;

在这里插入图片描述
// 11111111 200 没有错误
此时code 中如果有err 变量,输出值就覆盖默认值 没有错误 。

在这里插入图片描述

  1. 使用函数对结构赋值进行传参
    在这里插入图片描述
  2. 字符串解构
    在这里插入图片描述
    // k e r

在这里插入图片描述

相关文章:

ES6 基础

文章目录 1. 初识 ES62. let 声明变量3. const 声明常量4. 解构赋值 1. 初识 ES6 ECMAScript6.0(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了。它的目标,是使得」JavaScript语言可以用来编写复杂的大型应用程序,成为…...

【双指针】Leetcode 有效三角形的个数

题目解析 611. 有效三角形的个数 算法讲解 回顾知识&#xff1a;任意两数之和大于第三数就可以构成三角形 算法 1&#xff1a;暴力枚举 int triangleNumber(vector<int>& nums) {// 1. 排序sort(nums.begin(), nums.end());int n nums.size(), ret 0;// 2. 从…...

python项目练习——4.手写数字识别

使用Python和Scikit-learn库进行机器学习模型训练的项目——手写数字识别。 项目分析&#xff1a; 数据准备&#xff1a;使用公开数据集&#xff08;如MNIST&#xff09;作为训练和测试数据。数据预处理&#xff1a;对图像数据进行归一化、展平等操作&#xff0c;以便输入到机…...

【目标检测】NMS算法的理论讲解

将NMS就必须先讲IOU&#xff0c; IOU就是交并比&#xff0c;两个检测框的交集除以两个检测框的并集就是IOU 为什么要做NMS操作&#xff0c;因为要去除同一个物体的多的冗余检测框 那么NMS算法是如何做的呢&#xff1f; 以上是算法的流程图 下面讲解算法的流程 首先输入是预…...

3-iperf3 使用什么工具可以检测网络带宽、延迟和数据包丢失率等网络性能参数呢?

(1)iperf3简介 1.iperf3简介 2.用途&#xff08;特点&#xff09; 3.下载iperf3地址 &#xff08;2&#xff09;实战 1.iperf3参数 &#xff08;1&#xff09;通用参数&#xff08;客户端和服务器端都是适用的&#xff09; &#xff08;2&#xff09;客户端参数 实验1&…...

阳光倒灌高准直汽车抬头显示器HUD太阳光模拟器

阳光倒灌高准直汽车抬头显示器HUD太阳光模拟器是一种高级别的模拟设备&#xff0c;用于模拟太阳光的光谱、强度及照射角度&#xff0c;应用于太阳能电池板、光伏系统等领域的研究和测试。其参数包括光谱范围、光强度、光源、照射角度、均匀性和稳定性&#xff0c;可根据需求调整…...

jdk11中自定义java类在jvm是如何被查找、加载

yym带你了解jvm源码&#xff0c;openjdk11源码&#xff0c;java类jvm加载原理 jdk11中java类在jvm是如何被1查找、2加载 以下说明的是MiDept类是如何被java classloader 和 jvm加载步骤 上源代码 public static void main(String[] args) {Thread.currentThread().setName…...

单片机---独立按键

[3-1] 独立按键控制LED亮灭_哔哩哔哩_bilibili 按下的时候连接&#xff0c;松开的时候断开。 一头接GND&#xff08;电源负极&#xff09;&#xff0c;另一头接I/O口。 单片机上电时&#xff0c;所有I/O口为高电平。 按键没有按下&#xff0c;I/O口为高电平。 按键按下&…...

java分布式面试快问快答

目录 Java分布式面试宝典50题DubboRedisZookeeper分布式系统设计性能优化与监控安全实践经验 解答DubboRedisZookeeper分布式系统性能优化与监控安全 Java分布式面试宝典50题 Java分布式开发涉及到Dubbo、Redis、Zookeeper等技术&#xff0c;这些技术在实际工作中扮演着重要角…...

AI:148-开发一种智能语音助手,能够理解和执行复杂任务

AI&#xff1a;148-开发一种智能语音助手&#xff0c;能够理解和执行复杂任务 1.背景介绍 随着人工智能技术的飞速发展&#xff0c;智能语音助手已经逐渐成为人们日常生活中不可或缺的一部分。从简单的查询天气、播放音乐&#xff0c;到复杂的日程安排、智能家居控制&#xf…...

Kindling the Darkness:A Practical Low-light Image Enhancer

Abstract 在弱光条件下拍摄的图像通常会出现&#xff08;部分&#xff09;可见度较差的情况。,除了令人不满意的照明之外&#xff0c;多种类型的退化也隐藏在黑暗中&#xff0c;例如由于相机质量有限而导致的噪点和颜色失真。,换句话说&#xff0c;仅仅调高黑暗区域的亮度将不…...

图像处理与视觉感知---期末复习重点(4)

文章目录 一、图像复原与图像增强1.1 概述1.2 异同点 二、图像复原/退化模型2.1 模型图简介2.2 线性复原法 三、彩色基础四、彩色模型五、彩色图像处理 一、图像复原与图像增强 1.1 概述 1. 图像增强技术一般要利用人的视觉系统特性&#xff0c;目的是取得较好的视觉效果&…...

ABAP AMDP 示例

AMDP 是HANA开发中的一种优化模式 按SAP的官方建议&#xff0c;在可以使用Open SQL实现需要的功能或优化目标的时候&#xff0c;不建议使用AMDP。而在需要使用Open SQL不支持的特性&#xff0c;或者是大量处理流和分析导致了数据库和应用服务器之间有重复的大量数据传输的情况…...

发票查验接口C++语言如何集成、发票OCR

说起发票查验工作&#xff0c;繁琐的发票信息录入与反复查验令财务人员头疼不已。数字化时代&#xff0c;企业财务管理的自动化需求越来越高&#xff0c;翔云发票查验API搭配发票识别接口为企业提供一种高效的财务管理解决方案。仅需上传发票图片即可快速提取发票四要素信息&am…...

【图论 | 数据结构】用链式前向星存图(保姆级教程,详细图解+完整代码)

一、概述 链式前向星是一种用于存储图的数据结构,特别适合于存储稀疏图,它可以有效地存储图的边和节点信息,以及边的权重。 它的主要思想是将每个节点的所有出边存储在一起,通过数组的方式连接(类似静态数组实现链表)。这种方法的优点是存储空间小,查询速度快,尤其适…...

【蓝桥杯3.23小白赛】(详解)

第一题签到题不多说 【二进制王国】 #include <iostream> #include <vector> #include <algorithm> using namespace std;//int Cmp(string s1, string s2)测试了一下时间差确实很明显&#xff0c;还是用下面的内个 int Cmp(const string &s1,const st…...

设计模式之抽象工厂模式精讲

概念&#xff1a;为创建一组相关或相互依赖的对象提供一个接口&#xff0c;而且无须指定他们的具体类。 抽象工厂模式是工厂方法模式的升级版本。在存在多个业务品种或分类时&#xff0c;抽象工厂模式是一种更好的解决方式。 抽象工厂模式的UML类图如下&#xff1a; 可以看…...

初识云原生、虚拟化、DevOps

文章目录 K8S虚拟化DevOpsdevops平台搭建工具大数据架构 K8S master 主节点&#xff0c;控制平台&#xff0c;Master节点负责核心的调度、管理和运维&#xff0c;不需要很高性能&#xff0c;不跑任务&#xff0c;通常一个就行了&#xff0c;也可以开多个主节点来提高集群可用度…...

怎麼實現Nginx反向代理?

Nginx是一款開源軟體&#xff0c;可以作為Web伺服器、負載均衡器和反向代理使用&#xff0c;是高性能的HTTP和反向代理伺服器。其中反向代理是Nginx的一項重要特性。接下來&#xff0c;我們詳細講一下Nginx反向代理的實現和應用。 反向代理是什麼&#xff1f; 代理一詞通常指的…...

IOS面试题编程机制 71-75

71. 简述有哪几种手势通知方法?-(void)touchesBegan:(NSSet*)touchedwithEvent:(UIEvent*)event; -(void)touchesMoved:(NSSet*)touched withEvent:(UIEvent*)event; -(void)touchesEnded:(NSSet*)touchedwithEvent:(UIEvent*)event; -(void)touchesCanceled:(NSSet*)touchedw…...

3个关键步骤:如何用Bilibili-Evolved打造60fps流畅播放体验

3个关键步骤&#xff1a;如何用Bilibili-Evolved打造60fps流畅播放体验 【免费下载链接】Bilibili-Evolved 强大的哔哩哔哩增强脚本 项目地址: https://gitcode.com/gh_mirrors/bi/Bilibili-Evolved Bilibili-Evolved作为一款强大的哔哩哔哩增强脚本&#xff0c;为追求极…...

PP-DocLayoutV3实操手册:display_formula公式块检测准确率提升的3个微调技巧

PP-DocLayoutV3实操手册&#xff1a;display_formula公式块检测准确率提升的3个微调技巧 1. 引言&#xff1a;为什么公式检测这么重要&#xff1f; 在文档数字化处理过程中&#xff0c;数学公式的准确检测一直是个技术难点。传统的OCR系统往往把公式误判为普通文本或图像&…...

Graphormer部署教程:/etc/supervisor/conf.d/graphormer.conf配置解析

Graphormer部署教程&#xff1a;/etc/supervisor/conf.d/graphormer.conf配置解析 1. 项目介绍 Graphormer是一种基于纯Transformer架构的图神经网络模型&#xff0c;专门为分子图&#xff08;原子-键结构&#xff09;的全局结构建模与属性预测而设计。该模型在OGB、PCQM4M等…...

【西瓜带你学设计模式 | 第四期 - 抽象工厂模式】抽象工厂模式 —— 定义、核心结构、实战示例、优缺点与适用场景及模式区别

文章目录前言1. 抽象工厂模式是什么&#xff1f;2. 解决什么问题&#xff1f;2.1 有多个“产品维度”&#xff0c;并且需要成套切换2.2 变化点分散导致代码难维护3. 核心结构4. 示例4.1 抽象产品&#xff1a;Slice&#xff08;切片&#xff09;4.2 抽象产品&#xff1a;Pulp&am…...

Android USB串口通信终极指南:智能家居物联网项目实战

Android USB串口通信终极指南&#xff1a;智能家居物联网项目实战 【免费下载链接】usb-serial-for-android Android USB host serial driver library for CDC, FTDI, Arduino and other devices. 项目地址: https://gitcode.com/gh_mirrors/us/usb-serial-for-android …...

Electron + Vue 3 + Vite 桌面应用开发:从零到打包的实战指南

1. 为什么选择Electron Vue 3 Vite组合 如果你正在寻找一种既能快速开发又能保证性能的桌面应用解决方案&#xff0c;Electron Vue 3 Vite的组合绝对值得考虑。这个组合最大的优势在于开发体验的提升&#xff0c;特别是对于那些已经熟悉Vue生态的开发者来说。 Vite带来的开…...

不会画画也能创作!梦幻动漫魔法工坊新手入门全攻略

不会画画也能创作&#xff01;梦幻动漫魔法工坊新手入门全攻略 1. 为什么你需要这个工具 你是否曾经有过这样的经历&#xff1a;脑海中浮现出一个绝妙的动漫角色形象&#xff0c;却因为不会画画而无法将它呈现出来&#xff1f;或者想为社交媒体创作独特的二次元头像&#xff…...

整理‌ 主流国产AI龙虾的核心能力对比表(支持平台/部署方式/适用场景)腾讯WorkBuddy‌ ‌阿里JVS Claw 百度DuMate

根据当前的资料&#xff0c;腾讯WorkBuddy和百度的DuMate当前有一定一定量的免费额度&#xff0c;大家可以用起来&#xff01; 主流国产AI龙虾的核心能力对比表 五款主流国产AI龙虾的核心能力对比表已整理完成&#xff0c;涵盖支持平台、部署方式与适用场景三大维度&#xff…...

解锁JSON Viewer 3大效率黑科技:从数据解析到开发提效的全流程解决方案

解锁JSON Viewer 3大效率黑科技&#xff1a;从数据解析到开发提效的全流程解决方案 【免费下载链接】json-viewer It is a Chrome extension for printing JSON and JSONP. 项目地址: https://gitcode.com/gh_mirrors/js/json-viewer JSON Viewer是一款专为开发者打造的…...

CentOS 7.9 上部署 ELK 9.2.0 踩坑实录:从系统优化到证书配置的完整避坑指南

CentOS 7.9 上部署 ELK 9.2.0 实战指南&#xff1a;系统调优与安全配置全解析 在当今数据驱动的时代&#xff0c;企业日志管理已成为运维工作的核心环节。ELK Stack&#xff08;Elasticsearch、Logstash、Kibana&#xff09;作为开源日志分析解决方案的标杆&#xff0c;其9.2.0…...