ES6 基础

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

在这里插入图片描述

相关推荐

  1. ES6基础语法

    2024-03-27 17:38:01       60 阅读
  2. ES6基础3

    2024-03-27 17:38:01       45 阅读
  3. ES6基础1

    2024-03-27 17:38:01       38 阅读
  4. ES6基础4

    2024-03-27 17:38:01       35 阅读
  5. ES6基础5

    2024-03-27 17:38:01       40 阅读
  6. es6基础语法

    2024-03-27 17:38:01       22 阅读
  7. ES6基本语法(一)

    2024-03-27 17:38:01       23 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-27 17:38:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-27 17:38:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-27 17:38:01       82 阅读
  4. Python语言-面向对象

    2024-03-27 17:38:01       91 阅读

热门阅读

  1. windows抓hash抓明文

    2024-03-27 17:38:01       42 阅读
  2. 【数据结构】复杂度计算

    2024-03-27 17:38:01       41 阅读
  3. 浅析移动终端深度学习推理框架之MNN

    2024-03-27 17:38:01       33 阅读
  4. TypeScript实战使用技巧分享

    2024-03-27 17:38:01       36 阅读
  5. python-自动化测试- 多接口动态参数设计

    2024-03-27 17:38:01       39 阅读
  6. yolo_tracking项目val代码解析

    2024-03-27 17:38:01       38 阅读
  7. Z字形变换

    2024-03-27 17:38:01       40 阅读
  8. Tomcat启动后快速闪退解决方法

    2024-03-27 17:38:01       43 阅读
  9. 指针的运算(萌新版)

    2024-03-27 17:38:01       40 阅读
  10. SpringMVC运行原理

    2024-03-27 17:38:01       39 阅读