变量的结构赋值。
基本概念:
  本质上就是一中匹配模式,只要等号两边的模式相同,那么左边的变量就可以被赋予对应的值:
  1、数组的结构赋值。
  2、对象的结构赋值。
  3、基本类型的结构赋值。

    let [a,b,c] = [1,2,3];
    console.log(a,b,c); ///输出 1,2,3

  1、数组的结构赋值。

    let [a, [ [b] , c] ] = [ 1,[ [ 2 ] , 3 ] ];
    console.log(a,b,c); ///输出 1,2,3

    let [ , , c]=[ 1,2,3]
    console.log(c) ///输出3

    let [x] = [];
    console.log (x) ///输出 undefined ;

    let [ y =1 ] = [];

    console.log(y) ///输出 1

  2、对象的结构赋值。

    let {a,b} = {b:"bbb",a:"aaa"}
    console.log(a,b) ///输出 aaa , bbb

    let {a:b} = {a:1}
    console.log(b) //输出 1
    console.log(a) // 错误信息

  3、基本类型的结构赋值。

    let [a,b,c]="1234";
    console.log(a,b,c,d); //输出 1234

    let {length:len} = "miaov";
    console.log(len) ///输出 5

    let {tostring : ts}=1;
    let {toString: bs}=true;

    console.log(ts===Number.prototype.toString); //输出 true
    console.log(bs===Boolean.prototype.toString); //输出 true

    //null 和 undefined 不能进行结构赋值。
    //let[a] = null

以上。

ES6—— 变量的结构赋值的更多相关文章

  1. ES6 变量的结构赋值

    1.数组的解构赋值 a.基本用法:(‘模糊匹配’) let [a, b, c] = [1, 2, 3]; a b c b.嵌套数组结构例子: let [x, , y] = [1, 2, 3]; x y ...

  2. ES6 变量的结构赋值用途(实用技巧)

    1.交换变量的值 let x=1; let y=2; [x,y]=[y,x];//x=2,y=1 2.从函数返回多个值 函数只能返回一个值,如果要返回多个值,只能将它们放在数组或者对象里返回,有了解构 ...

  3. JS ES6的变量的结构赋值

    变量的结构赋值用户很多 1.交换变量的值 let x = 1; let y = 2; [x,y] = [y,x] 上面的代码交换变量x和变量y的值,这样的写法不仅简洁,易读,语义非常清晰 2.从函数返 ...

  4. ES6变量解构赋值

    ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构ES6之前我们申明多个变量需要按照下面的方法: let l a=1; let b=2; let c=3; let d=4; ...

  5. ES6必知,变量的结构赋值。

    对象和数组时 Javascript 中最常用的两种数据结构,由于 JSON 数据格式的普及,二者已经成为 Javascript 语言中特别重要的一部分. 在编码过程中,我们经常定义许多对象和数组,然后 ...

  6. 【ES6基础】let、const命令和变量的结构赋值

    ES5声明变量(2):var .function ES6声明变量(6):var.function.let.const.import和class 1.let命令和const命令 (1)let和const ...

  7. es6变量解构赋值的用途

    这里是我觉得es6解构赋值,在平时我们写js的时候非常有用,而且经常用到的地方,能简化我们的代码,让写代码简介优雅易读; 用途 1.交换变量的值,太方便了这逼,写法不仅简介而且一看就明白 let [x ...

  8. ES6变量解构赋值的用法

    一.数组赋值(从数组中提取值,按照对应位置,对变量赋值) 1. 完全解构(变量与值数目相等) let arr = [1, 2, 3]; let [a,b,c] = arr; console.log(a ...

  9. ES6中的变量结构赋值

    小编的上一篇文章更新了es6中关于变量定义的问题,这篇文章继续来一些实用的干货,关于数组.对象的赋值问题.特别是在前后端合作项目的时候,对后端数据的拆分,还有就是对于函数的默认值的惰性赋值问题.看完下 ...

随机推荐

  1. shell脚本里切换用户执行命令的注意事项

    功能说明:用root用户执行一个脚本,脚本里需要切换到普通用户DT去执行其他命令,其中就用到了EOF,用法如下: #!/bin/bash su - DT<<EOF cd apache-to ...

  2. failed to open stream: No such file or directory 报错解决方法

    1.首先检查是否是文件名错误(比如有空格):是否因为路径不完整(比如缺少http://,或者缺少文件扩展名.doc等): 2.若是在本地中文名文件打开报错,我就是因为编码不一致导致: Windows中 ...

  3. mysql主从错误180301

    Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ...

  4. linux zip解压缩中文乱码

    这里提供两个解决方案: 1.python处理下:https://gist.github.com/wangjiezhe/7841a350983a147b6d7e 2.java的zip4j:http:// ...

  5. (转)Android SDK Manager国内无法更新的解决方案

    转载地址:http://www.linuxidc.com/Linux/2015-01/111958.htm 现在由于GWF,google基本和咱们说咱见了,就给现在在做Android  或者想学习An ...

  6. VisualVM远程连接Tomcat(转)

    转自:http://www.cnblogs.com/sunshine-2015/p/5547128.html VisualVM VisualVm是一个将很多JDK命令工具可视化的windows程序,直 ...

  7. VS优化编译配置

    在使用VS2010编译C++程序的时候,每次修改工程中的某一个文件,点击“生成-仅用于项目-仅生成**”时,往往都是整个工程都需要重新编译一遍.由于这个工程代码量太大,每次编译完成都需要将近10分钟左 ...

  8. Windows多线程编程入门

    标签(空格分隔): Windows multithread programming 多线程 并发 编程 背景知识 在开始学习多线程编程之前,先来学习下进程和线程 进程 进程是指具有一定独立功能的程序在 ...

  9. 洛谷 P3092 [USACO13NOV]没有找零No Change

    题目描述 Farmer John is at the market to purchase supplies for his farm. He has in his pocket K coins (1 ...

  10. 23-tcp协议——TIME_WAIT状态和FIN_WAIT2状态

    23-tcp协议——TIME_WAIT状态和FIN_WAIT2状态 摘自:https://blog.csdn.net/qq_35733751/article/details/80146161 2018 ...