1.解构赋值-数组篇 //Destrcturing(解构)
//ES5
/*
var a = 1;
var b = 2;
var c = 3;
*/
//ES6
var [a,b,c] = [1,2,3];
console.log(b);

//demo2
let [
foo,
[
[bar],
base
]
] = [
1,
[
[2],
3
]
];

console.log(bar);//2
console.log(base);//3

//demo3
let [,a,] = [1,2,3];
console.log(a);//2

//demo4
let [zero,...j] = [0,1,2,3,4]; //注意是三个.
console.log(j); //[1,2,3,4]
//demo5
let [a,b] = [1];
console.log(a); //1
console.log(b); //undefined

//demo6 不完全解构
let[a,[b],c] = [1,[2,3],4];
console.log(b); //2
console.log(c);//4

//demo7 制定默认值
var [temp = 'jewave'] = [];
console.log(temp);//'jewave'

// var [temp='jewave'] = ['xiang'];
// var [p,q = 'aaa'] = ['bbb',undefined] 【'bbb','aaa'】
// var [temp] = 1; Iterator接口之非遍历结构报错 var [temp]= undefined;报错

//demo8  Iterator接口之可遍历结构

let [a,b,c] = new Set(['x','y','z']);

console.log(b); // 'y'

function*  fibs() {//指针函数

  let a = 0;

  let b = 1;

  while (true) {

    yield a;

    [a,b] = [b,a+b];

  }

};

var [fir,sec,thi,fou,fif,six] = fibs();

console.log(six); //5

(2)ES6解构赋值-数组篇的更多相关文章

  1. 【ES6 】ES6 解构赋值--数组解构赋值

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

  2. (4)ES6解构赋值-字符串篇

    字符串的解构赋值 let [a,b,c,d,e] = 'Apple'; console.log(a); //A console.log(b); //p console.log(c); //p cons ...

  3. (5)ES6解构赋值-函数篇

    函数参数的解构赋值 function sum(x, y) { return x + y; } sum(1,2); //解构赋值 function sum([x, y]) { return x + y; ...

  4. (3)ES6解构赋值-对象篇

    对象的解构赋值(可以不按顺序,但是key必须一样否则为undefined) //demo1 var {name,age} = { name: "Jewave", age:26 }; ...

  5. ES6—解构赋值

    1.什么是解构赋值 ES6允许按照预定的模式,从数组.对象中提取值,对变量进行赋值. 我们直接用例子说明.    2. 数组的解构赋值 数组传统的变量赋值:      var arr=[1,2,3]; ...

  6. ES6解构赋值

    前面的话 我们经常定义许多对象和数组,然后有组织地从中提取相关的信息片段.在ES6中添加了可以简化这种任务的新特性:解构.解构是一种打破数据结构,将其拆分为更小部分的过程.本文将详细介绍ES6解构赋值 ...

  7. es6 解构赋值

    ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring). 关于给变量赋值,传统的变量赋值是这样的: var arr = [1,2,3];//把数组的值 ...

  8. 关于ES6-{块级作用域 let const 解构赋值 数组 字符串 函数的扩展 箭头函数}

    关于ES6 块级作用域 任何一对花括号({})中的语句集都属于一个块,在块中声明的变量在代码块外都是不可访问的,称之为块级作用域,ES5以前没有块级作用域 let let 是ES6新增的声明变量的一种 ...

  9. 简单看看es6解构赋值

    哎,我真的是太难了,今天就被这个解构赋值(也可以叫做析构,貌似析构是在c++中的,所以我这里叫做解构赋值吧)弄的我很烦,本来以为很容易的,结果还是弄了好久...就总结一下解构吧! 1.解构的基本使用 ...

随机推荐

  1. 浅尝Java(二、代码折叠插件的使用)

    主题:eclipse代码折叠插件的使用. 工作中在使用eclipse开发Java项目时,我们会写很多if,for循环啊什么的,这使得我们的项目代码会有很多很多行.写完后要想检查或者查看,就要从头一行一 ...

  2. iOS枚举的运用

    1.什么是枚举? 枚举其实就是一个整型常数的集合,最简单的例子就是表示星期的SUN, MON, TUE, WED, THU, FRI,SAT, 就是一个枚举. 2.iOS中枚举的使用 在ObjC中可以 ...

  3. 基于 Laravel、Vue.js开发的全新社交系统----ThinkSNS+

    什么是ThinkSNS+ ThinkSNS(简称TS)始于2008年,一款全平台综合性社交系统,为国内外大中小企业和创业者提供社会化软件研发及技术解决方案,目前最新版本为ThinkSNS+.新的产品名 ...

  4. 移动端为何不使用click而模拟tap事件及解决方案

    移动端click会遇到2个问题,click会有200-300ms的延迟,同时click事件的延迟响应,会出现穿透,即点击会触发非当前层的点击事件. 为什么会存在延迟? Google开发者文档中有提到: ...

  5. WAMP环境 apache 2.4.23 局域网访问

    参考了很多大神的分享解答,  现在不知道是参考的哪个人的 如有抄袭 侵权请告知, 加上链接或者删除!!! 最近想按个分屏提高学习代码效率, 晚上突然想到可以用本本连接WiFI 然后通过 局域网访问PC ...

  6. SQL连接操作

    一.Join语法概述 join 用于多表中字段之间的联系,语法如下: ... FROM table1 INNER|LEFT|RIGHT JOIN table2 ON conditiona table1 ...

  7. JavaScript语法作业

    相亲过程:你有房子么?你有钱么?你有能力么?[结婚吧][先买房子在结婚][先赚钱再买房子再结婚]都没有[拜拜~~]利用if嵌套做相亲过程 <script> var a=prompt(&qu ...

  8. python selenium无法最大化窗口

    问题原因:报错提示cannot get automation extension根据各种调试,发现是对应版本不对,上图发现selenium的版本是57.0.2987.133,需要driver为2.29 ...

  9. Mybatis分页插件PageHelper正确的使用方法(网上有2篇不够科学的文章)

    今天下午在Mybatis项目中,实现分页.因为我是后加入项目中的,Leader用的是PageHelper这个组件,但是我在实际使用的过程中遇到了2个大问题. 1.http://www.oschina. ...

  10. 2017多校第10场 HDU 6180 Schedule 贪心,multiset

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6180 题意:给了一些任务的开始时间和终止时间,现在让我们安排k台及机器,让这些任务在k太机器上最小,并 ...