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

文章目录

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

1. 初识 ES6

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

2. let 声明变量

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

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

javascript 复制代码
{
            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
相关推荐
腾讯TNTWeb前端团队几秒前
helux v5 发布了,像pinia一样优雅地管理你的react状态吧
前端·javascript·react.js
范文杰3 小时前
AI 时代如何更高效开发前端组件?21st.dev 给了一种答案
前端·ai编程
拉不动的猪4 小时前
刷刷题50(常见的js数据通信与渲染问题)
前端·javascript·面试
拉不动的猪4 小时前
JS多线程Webworks中的几种实战场景演示
前端·javascript·面试
FreeCultureBoy4 小时前
macOS 命令行 原生挂载 webdav 方法
前端
uhakadotcom5 小时前
Astro 框架:快速构建内容驱动型网站的利器
前端·javascript·面试
uhakadotcom5 小时前
了解Nest.js和Next.js:如何选择合适的框架
前端·javascript·面试
uhakadotcom5 小时前
React与Next.js:基础知识及应用场景
前端·面试·github
uhakadotcom5 小时前
Remix 框架:性能与易用性的完美结合
前端·javascript·面试
uhakadotcom5 小时前
Node.js 包管理器:npm vs pnpm
前端·javascript·面试