解构赋值 和 symbol
1.数组解构
let [a,b,c,d] = ['aa','bb',77,88]
嵌套数组解构
let [a,b,[c,d],e] = ['aa','bb',[33,44],55]
空缺变量
let [a,b,,e] = ['aa','bb',[33,44],55]
多余变量
let [a,b,,e,f] = ['aa','bb',[33,44],55]
默认值
let [a,b,,e,f='hello'] = ['aa','bb',[33,44],55]
2.对象解构
let obj = new Object()
obj.uid = 111
obj.uname = '张三'
obj.arr = ['aa','bb']
let {uid:id,uname:name} = obj // 顺序改变无影响
alert(name) //直接输出 值
小括号:
let uid,uname,arr,a,b,c //定义键名
({uid,uname,arr:[a,b,c='ccc']} = obj) // c 为默认值 必须有小括号,否则 {} 就会被解读为语句块
可嵌套(例如:arr)
可有默认值 (例如:c)
3.字符串解构
let [a,b,c,d] = '倚天屠龙' console.log(a,b,c,d)
4.函数解构
function login () {
let obj = new Object
obj.uid = 111
obj.uname = '张三'
// 调用 analysis 方法, 传入 obj
analysis(obj)
}
function analysis ({uid,uname}) {
alert(uid);
alert(uname);
}
analysis(obj)
// 以下也正确
let obj = {uid:121,uname:'张三'}
function analysis ({uname}) {
alert(uname)
}
参数中数组、字符串、默认值、缺位均支持
Symbol 是 ES6 新增的一种值类型数据,表示一种绝不重复的值
let s1 = Symbol(33) let s2 = Symbol(33) alert(s1 == s2) // false
.
解构赋值 和 symbol的更多相关文章
- ES6语法~解构赋值、箭头函数、class类继承及属性方法、map、set、symbol、rest、new.target、 Object.entries...
2015年6月17日 ECMAScript 6发布正式版本 前面介绍基本语法, 后面为class用法及属性方法.set.symbol.rest等语法. 一.基本语法: 1. 定义变 ...
- ES6学习----let、const、解构赋值、新增字符串、模板字符串、Symbol类型、Proxy、Set
这篇es6的学习笔记来自于表哥 表严肃,是我遇到过的讲课最通透,英文发音最好听的老师,想一起听课就去这里吧 https://biaoyansu.com/i/hzhj1206 ES6就是JS6,JS的第 ...
- ES6解构赋值详解
文章转载自:http://www.zhufengpeixun.cn/article/167 解构赋值(destructuring assignment)语法是一个 Javascript 表达式,这种语 ...
- ES6 - 基础学习(3): 变量的解构赋值
解构赋值概述 1.解构赋值是对赋值运算符的扩展. 2.它是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值. 3.代码书写上显得简洁且易读,语义更加清晰明了:而且还方便获取复杂对象中的数据字 ...
- es6之变量的解构赋值
es5中通常我们声明变量都是以下的方式: var a = 10; var b = 20; var c = 30; //或者 var a = 10,b = 20,c = 30; //或者 var arr ...
- ES6之解构赋值
截止到ES6,共有6种声明变量的方法,分别是var .function以及新增的let.const.import和class: 我们通常的赋值方法是: var foo='foo'; function ...
- ECMAScript6学习笔记 ——let、const、变量解构赋值
let 不存在变量提升 通过let声明的变量仅在块级作用域内有效 不允许在同一个作用域内重复声明一个变量 防止值公用 var oUl = document.querySelectorAll('ul&g ...
- ES6 - Note2:解构赋值
ES6的解构赋值就是利用模式匹配从按照一定模式的数组或者对象中提取值赋值给变量. 1.数组的解构赋值 在ES6以前,变量的赋值是直接指定的,以后可以这么来写,如下所示 let [a,b,c] = [1 ...
- es6分享——变量的解构赋值
变量的解构赋值:ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring). 以前的写法: var a = 1; var b = 2; es6允许的写法 ...
随机推荐
- HOJ 2645 WNim sg函数 博弈论
http://blog.csdn.net/y1196645376/article/details/52165245 这道题我没有写,因为我就算翻译了我也找不到数据范围,也分不清数据变量的命名,而且ho ...
- hdu 4276 树形dp
题意:给你n个点,n-1条边构成树,每条边有边权(表示走每条边的时间),每个点有点权,问在时间T从点1走到点n,能够得到最多的点权有多少. 题目链接:点我 由于是树,最优的结果一定经过最短路,其他边要 ...
- AJAX传递数组
在前台中Jq代码中中用JSON.stringify()将数组转换成 JSON字符串.在后台用json_decode()将JSON字符串转换成数组. 1.JSON.stringify(value [, ...
- CentOS包管理yum常用命令(转)
一.安装 yum install 全部安装yum install package1 安装指定的安装包package1yum groupinsall group1 安装程序组group1 二.更新和升级 ...
- <摘录>Gson对Java嵌套对象和JSON字符串之间的转换
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,具有良好的跨平台特性.近几年来已经和XML一样成为C/S架构中广泛采用的数据格式.有关JSON的更多知识, ...
- Java过滤任意(script,html,style)标签符,返回纯文本--封装类
import java.util.regex.Pattern; /** * 过滤标签字符串,返回纯文本 * */ public class ChangePlainText { ...
- 使用OData快速构建REST服务
OData是微软支持的一种查询标准,它的第四版使用了REST规范,看起来简洁多了.它的最大的特点是可以在客户端自行配制查询条件,使用它构建REST服务时再也不用担心查询的扩展性问题了. 如下是几个简单 ...
- OSChina.net 的 Tomcat 配置 server.xml 参考
这是目前 oschina.net 正在使用的 tomcat 的 server.xml 的配置文件内容 <Server port="9005" shutdown="S ...
- Java-方法的覆写
class parent { void print() { System.out.println("parent"); } } class child extends p ...
- MYSQL DBA大牛
http://www.penglixun.com/masters_books/dba_masters