ES6 学习(一)-- 基础知识

news/2024/7/10 22:59:41 标签: 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

在这里插入图片描述


http://www.niftyadmin.cn/n/5462003.html

相关文章

国赛大纲解读

1. 第一部分,是针对5G基础知识的掌握,第二部分是人工智能基本算法的掌握,就是人工智能的应用,用5G+人工智能(AI算法)进行网络优化的问题,要有网络优化的基础知识,比如说:某个区域的覆盖问题,覆盖特别差,但有数据,覆盖电频,srp值这些数据给你,根据数据来判断是…

线阵相机如何选型

线阵相机特点 1.线阵相机使用的线扫描传感器通常只有一行感光单元(少数彩色线阵使用三行感光单元的传感器) 2.线阵相机每次只采集一行图像; 3.线阵相机每次只输出一行图像; 4.与传统的面阵相机相比,面阵扫描每次采集若…

http和https的区别!

HTTP 明文传输,数据都是未加密的,安全性较差,HTTPS(SSLHTTP) 数据传输过程是加密的,安全性较好。 使用 HTTPS 协议需要到 CA(Certificate Authority,数字证书认证机构) …

小红拿到了一个仅由小写字母和“?“字符组成的字符串。小红有n颗糖果,每颗糖果的编号为ai。

目录 小红拿到了一个仅由小写字母和"?"字符组成的字符串。 小红有n颗糖果,每颗糖果的编号为ai。

简单算法板子

最短路https://www.luogu.com.cn/problem/B3647 Floyd算法 核心代码块 void floyd() {int i, j, k; // i和j是起始和结束节点&#xff0c;k是中间节点for (k 1; k < n; k){for (i 1; i < n; i){for (j 1; j < n; j){// 如果通过k节点的路径比当前i到j的路径短&a…

AI副业拆解:使用Suno生成你的专属歌曲

大家好我是在看&#xff0c;记录普通人学习探索AI之路。 今天和大家拆解Suno的定制个性化音乐&#xff0c;Suno应用程序热度非凡&#xff0c;其独特之处在于&#xff0c;用户仅需提供歌词内容与期望的歌曲风格&#xff0c;即可一键生成专属曲目。 Suno的诞生&#xff0c;无疑…

LeetCode Python - 80. 删除有序数组中的重复项 II

目录 题目描述解法运行结果 题目描述 给你一个有序数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使得出现次数超过两次的元素只出现两次 &#xff0c;返回删除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须在 原地 修改输入数组 并在使用 O…

(一)kafka实战——kafka源码编译启动

前言 本节内容是关于kafka消息中间键的源码编译&#xff0c;并通过idea工具实现kafka服务器的启动&#xff0c;使用的kafka源码版本是3.6.1&#xff0c;由于kafka源码是通过gradle编译的&#xff0c;以及服务器是通过scala语言实现&#xff0c;我们要预先安装好gradle编译工具…