(3)ES6解构赋值-对象篇
对象的解构赋值(可以不按顺序,但是key必须一样否则为undefined)
//demo1
var {name,age} = { name: "Jewave", age:26 };
console.log(name); //'jewave'
console.log(age); // //demo2
var {id,name,age} = { name: "Jewave", age:26,id:007 };
console.log(name); //'jewave'
console.log(age); //
console.log(id) // //demo3
var { id: personId, name: personName, age: personAge } = { name: "Jewave", age:26,id:007 };
console.log(personId); //
console.log(personName); //'jewave'
console.log(personAge); // //demo4
let object = { first: 'Hello', last: 'World' };
let { first: firstName, last: lastName } = object;
console.log(firstName); //Hello
console.log(lastName); //World
对象解构默认值的条件(对象属性值严格等于undefined,也就是未定义)
//demo1
var { x = 3 } = {};
console.log(x); // //demo2
var { x, y = 5 } = { x: 1 };
console.log(x); //
console.log(y); // //demo3
var { message: msg = "You Are A Person!" } = {};
consle.log(msg); //"You Are A Person!" //demo4
var { x = 3 } = { x: undefined };
console.log(x); // //demo5
var { y = 3 } = { y: null };
console.log(y);//null
已声明变量的解构赋值
var x;
{x} = { x: 1 }; // Uncaught SyntaxError: Unexpected token =
为啥报错,因为{x}被理解成代码块而不是对象所以不能进行解构,
这时候我们用一个括号将整体括起来就可以。 var x;
({x} = { x: 1 });
console.log(x); //
现有对象的方法
console.log( Math.sin(Math.PI/6) ); //0.49999999999999994 //简化版的写法可读性更棒
let { sin, cos, tan, cot, PI } = Math;
console.log( PI ); //3.141592653589793
console.log( sin(PI/6) ); //0.49999999999999994
(3)ES6解构赋值-对象篇的更多相关文章
- (2)ES6解构赋值-数组篇
1.解构赋值-数组篇 //Destrcturing(解构) //ES5 /* var a = 1; var b = 2; var c = 3; */ //ES6 var [a,b,c] = [1,2, ...
- (5)ES6解构赋值-函数篇
函数参数的解构赋值 function sum(x, y) { return x + y; } sum(1,2); //解构赋值 function sum([x, y]) { return x + y; ...
- 【ES6 】ES6 解构赋值--对象解构赋值
对象的解构与数组有一个重要的不同. 数组的元素是按次序排列的,变量的取值由它的位置决定 而对象的属性没有次序,变量必须与属性同名,才能取到正确的值. 基本用法 如果解构失败,变量的值等于undefin ...
- (4)ES6解构赋值-字符串篇
字符串的解构赋值 let [a,b,c,d,e] = 'Apple'; console.log(a); //A console.log(b); //p console.log(c); //p cons ...
- ES6解构赋值
前面的话 我们经常定义许多对象和数组,然后有组织地从中提取相关的信息片段.在ES6中添加了可以简化这种任务的新特性:解构.解构是一种打破数据结构,将其拆分为更小部分的过程.本文将详细介绍ES6解构赋值 ...
- es6 解构赋值
ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring). 关于给变量赋值,传统的变量赋值是这样的: var arr = [1,2,3];//把数组的值 ...
- ES6—解构赋值
1.什么是解构赋值 ES6允许按照预定的模式,从数组.对象中提取值,对变量进行赋值. 我们直接用例子说明. 2. 数组的解构赋值 数组传统的变量赋值: var arr=[1,2,3]; ...
- es6 解构赋值 新认知/新习惯
es6 的解构赋值其实很早就学习了,但一直纠结于习惯和可读性问题,所以没有大规模使用.最近被 react调教一番之后.已经完全融入认知和习惯中去了.总结一下三个常用的技巧: 对象取值 取值并重命名 剩 ...
- 简单看看es6解构赋值
哎,我真的是太难了,今天就被这个解构赋值(也可以叫做析构,貌似析构是在c++中的,所以我这里叫做解构赋值吧)弄的我很烦,本来以为很容易的,结果还是弄了好久...就总结一下解构吧! 1.解构的基本使用 ...
随机推荐
- POJ-3522 Slim Span(最小生成树)
Slim Span Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 8633 Accepted: 4608 Descrip ...
- 【模板】HDU--1233 畅通工程
省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可).经过调查评估,得到的统计表中列出了有可能建设公路的若干 ...
- CSS2--字体样式
## CSS2 字体样式 ##### font-family 字体族 - 规定元素的字体系列 - 把多个字体作为一个"回退"系统保存.保证浏览器的支持 - ````Microsof ...
- NOIP2000提高组 单词接龙
题目描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的"龙"(每个单词都最多在"龙" ...
- Shell - 简明Shell编程
本文是对Shell脚本编程的总结和回顾,所有涉及的脚本均已做了基本的调试和验证. [toc] 测试环境信息 [root@CentOS7 ~]# uname -a Linux CentOS7 3.10. ...
- GO中的数组切片
GO中的数组切片可以看做是功能更强大的数组,在append数据时,可以自动调整内存大小以适应数据实际大小,有些类似于C#中的List<T>. GO 中数组切片的“容量”与实际储存的大小可以 ...
- 像Linux终端一样使用windows命令行【cmder】
像Linux终端一样使用windows命令行[cmder] 下载cmder 我下载的是full版,下载之后是个压缩包,解压之后点击cmder.exe即可运行. 需要解决的几个问题 默认的是λ,当然还是 ...
- 安装mvn,jdk,rocketmq
附一个rocketmq各语言客户端仓库:https://github.com/apache/incubator-rocketmq-externals,我用go客户端,但是master分支的go没有pr ...
- js 日期大小比较
<!DOCTYPE HTML><html><body><script>//获取起始日期 //转换为日期格式var startDate='2016-06- ...
- Git 默认不区分大小写
背景: 通过代码规范,修改了包名为全小写(修改了文件夹目录),但发现push后,git服务器的文件夹目录还是为大写 解决方法: git默认是不区分大小写的,意思是你修改一个文件名/文件夹的时候,git ...