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
相关推荐
wangxiaoxuan21729 分钟前
SLAM 的基本结构:前端、后端、回环与地图优化
前端·机器人·科沃斯八界
LGL6030A2 小时前
Java学习历程31——初识Spring Boot
java·spring boot·学习
Agent世界3 小时前
用 CDP 做发布自动化:四道机器闸门与产物验收
前端·javascript
FungLeo3 小时前
成为全栈·Vue 管理后台篇·编辑器图片上传:从文件选择到文章附件关联
前端·vue.js·编辑器·markdown·文件上传·formdata·附件管理
阿达和自己4 小时前
springboot学习-springboot引入MyBatis-Plus
spring boot·学习·mybatis
某哈压力大4 小时前
SSH 突然 Connection reset?不是密钥坏了,是 OpenSSL 把 sshd 干趴了
前端·node.js·命令行
程序员大阳4 小时前
副队长ES6+教程(3)--解构赋值
前端·javascript·es6·赋值·解构
旖旎夜光4 小时前
【C++ 基础入门】C++11 新特性(中):右值引用、移动语义与完美转发
开发语言·c++·笔记·学习
神膘护体小月半4 小时前
css - 元素背景图由 hover 触发,初次加载时闪动的解决办法
前端·javascript·css
程序员大阳4 小时前
副队长ES6+教程(2)--let 与 const
前端·javascript·es6·const·let·var