最近准备在业余空闲时间里一边学习ES6,一边整理相关知识。只有整理过的学习才是有效的学习。也就是学习之后要使用和整理成文,才是真正的学到了。。。

上一篇是一个试水,现在接上。

变量提升

看了下朋友回复,上篇还少讲了个变量提升,其实也是搜索之后才看到的,于是现在这里说下,所谓变量提升是es5中才有的,es6中已经去除了。

这里写个栗子:

变量的先使用后定义场景

var声明,这样

let声明,这样

查了一下,基本可以理解为:es5容忍这种写法,即使是先使用,后面才声明,也不会报错。但es6就无法容忍了,你前面没声明,你就不能使用,即使后面声明了。得有个先后顺序。

解构赋值

现在我们来说说,es6的解构赋值,比起es5有什么不同呢?都是一种赋值方式。(解构赋值的场景很多)

这是es5的多个变量赋值方式:

这是es6的多个变量赋值方式(当然es6中也能用es5的语法):

分别赋值了,一一对应的。

你甚至可以这样,只要左右两边的解构一样就可以。

es6允许这样:(,左右可以是空的)声明的变量对应后面的值

还有这种操作:(...变量,把后面的值以数组形式都赋值给后面的变量)

当然,这样就报错了:(...变量必须是解构赋值的最后一个变量)

这种情况,只有一个值,第二个值就没有了,就是undefined,...变量就是个空数组

不完全解构

这里只去前面的对应

b只取了2

这样子b取的就是数组了

默认值解构

表示赋的值为不写或undefined,那就会取默认值

严格相等运算符(===)

对象的解构赋值

可以这样子,赋值时:后面给出变量的值

位置是可以调换的,值一样

没赋值到的变量会是undefined,不报错

字符串解构赋值

只取单个字符串

这表示es6的取字符串长度,{}中,:前面就是es5的.操作,:后面是变量(但这种方式很少用,也不是所有的方法和属性都支持)

函数参数的解构赋值

1和2对应赋值给x和y

解构赋值的用途场景

互相赋值

函数中返回多个值

变量map:

打印是这样

即使工作中,也要平均每天(晚上)花2个小时进行学习与总结,无论学的是什么。

——公众号:海瑞菌

ES6知识整理(2)--变量的解构赋值的更多相关文章

  1. ES6学习笔记之变量的解构赋值

    变量的解构赋值 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构. 数组的解构赋值 以前,为变量赋值,只能直接指定值: 1 2 3 var a = 1; var b = 2; ...

  2. ES6学习 第二章 变量的解构赋值

    前言 该篇笔记是第二篇 变量的解构赋值. 这一章原文链接: 变量的解构赋值 解构赋值 ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring). 解构 ...

  3. ES6标准入门之变量的解构赋值简单解说

    首先我们来看一看解构的概念,在ES6标准下,允许按照一定模式从数组和对象中提取值,然后对变量进行赋值,这被称作解构,简而言之粗糙的理解就是变相赋值. 解构赋值的规则是,只要等号右边的值不是对象或者数组 ...

  4. ES6系列_3之变量的解构赋值

    ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构. 解构有三种类型: 1.数组的解构赋值 (1)简单的数组解构 以前,我们给变量赋值是直接单个指定值,比如: let a=0; ...

  5. ES6第三节:变量的解构赋值

    ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构.下面我们看实际的例子: 一.数组解构: let [a,b,c] = [1,2,3]; console.log(a); //a ...

  6. es6学习2:变量的解构赋值

    一:数组的解构赋值 ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构 let [foo, [[bar], baz]] = [1, [[2], 3]]; foo bar ba ...

  7. ES6 - 基础学习(3): 变量的解构赋值

    解构赋值概述 1.解构赋值是对赋值运算符的扩展. 2.它是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值. 3.代码书写上显得简洁且易读,语义更加清晰明了:而且还方便获取复杂对象中的数据字 ...

  8. ES6 第三章 变量的解构赋值 具体参照http://es6.ruanyifeng.com

    1.基本用法 let [a, b, c] = [1, 2, 3];左右两边解构格式要保持一致. 2.默认值 let [x, y = 'b'] = ['a']; // x='a', y='b' let ...

  9. ES6中的变量的解构赋值, 解放我们的双手,实现变量的批量赋值

    ES6--变量的解构赋值 引言 正文 一.数组的解构赋值 解构失败 不完全解构 默认值 二.对象的解构赋值 三.字符串的解构赋值 结束语 引言 变量的解构赋值, 听起来很复杂, 简单点说可以理解成批量 ...

  10. es6之变量的解构赋值

    es5中通常我们声明变量都是以下的方式: var a = 10; var b = 20; var c = 30; //或者 var a = 10,b = 20,c = 30; //或者 var arr ...

随机推荐

  1. php 代码复用机制

    https://juejin.im/entry/5927ec4544d904006413f61d 提到 php 的代码复用,我们可能第一时间会想到继承,但是这种单继承语言一旦派生的子类过多,那么会产生 ...

  2. Request实例

    Request常用方法        getRequestURL方法返回客户端发出请求时的完整URL. getRequestURI方法返回请求行中的资源名部分. getQueryString 方法返回 ...

  3. Ubuntu16.04源的问题

    今天执行下列语句 sudo apt-get update报错 安装redis时 sudo apt-get install redis-server报错 报错内容大致如下: 在网上查了一下是源的问题,我 ...

  4. 深入理解Java虚拟机2-chap3-斗之气9段

    一.GC需要完成三件事 哪些内存需要回收:找出不需要使用的对象 什么时候回收:JVM空闲/堆内存紧张 如何回收:回收垃圾的策略 二.寻找已死对象:第一件事 判断对象是否存活算法 1.引用计数算法 原理 ...

  5. cocos2d JS-(JavaScript) cc.each循环遍历对象

    有了它,妈妈再也不用担心我的数组会越界啦!! each()方法能使DOM循环结构简洁,不容易出错.each()函数封装了十分强大的遍历功能,使用也很方便,它可以遍历一维数组.多维数组.DOM, JSO ...

  6. CentOS7.5 防火墙指令

    防火墙指令 1. 查看防火墙状态: firewall-cmd --state 2. 启动防火墙 systemctl start firewalld.service 3. 关闭防火墙 systemctl ...

  7. 纯HTML和CSS实现点击切换

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. VMware vSphere

    在进行操作vSphere产品之前,就曾经对它进行过一个简单了解:[运维]VMware vSphere简单了解,现在再回头看,发现了解的真的是太简单了.经过前一段时间学习之后,对它又有了新的感悟,再来谈 ...

  9. 安装oracle经验

    1.使用database configuration assistant配置和创建数据库 2.使用net manager配置监听 3.使用netconfiguration assistant配置服务

  10. git分支流

    ## 新建一个iss1分支 $ git branch iss1 ## 切换到iss1分支 $ git checkout iss1 Switched to branch 'iss1' ## 查看分支,当 ...