es2015(es6)学习总结
1.三种声明方式
- var:它是variable的简写,可以理解成变量的意思。
- let:它在英文中是“让”的意思,也可以理解为一种声明的意思。
- const:它在英文中也是常量的意思,在ES6也是用来声明常量的,常量你可以简单理解为不变的量。
var a=2;
{
var a=3;
}
console.log(a); // var a=2;
{
let a=3;
}
console.log(a); //
2. 变量的解构赋值
简单的理解就是将等号右边数组或者对象 的元素拆开赋值给相应的变量
数组解构
let [a,b,c]=[1,2,3]; let [a,b="JS"]=['你好',undefined];
console.log(a+b); //控制台显示“你好JS” let [a,b="JS"]=['你好',null];
console.log(a+b); // 你好null
数组作为参数传给函数
let arr = ['hello','world','你好'];
function fun(a,b,c){
console.log(a,b,c);
} fun(...arr); //解构赋值
对象解构
数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值
let {foo,bar} = {foo:'你好',bar:'JS'};
console.log(foo+bar);
let foo;
({foo} ={foo:'JS'});
console.log(foo); //加圆括号,打印不报错
//字符串解构
const [a,b,c,d,e]="Hello";
3.字符串查找
之前用str.indexOf('hello') 来返回hello 在str 字符串中的索引位置,没有则返回-1,es6用 includes 判断返回布尔值
var str = 'hello ,this is my blog';
console.log(str.includes('my')); //true str.startsWith('hello'); //判断开头是否存在 str.endsWith('hello'); //判断结尾是否存在
4.json 数组格式转换
let json = {
'0': 'hello',
'1': 'world',
'2': '你好啊'
}
JSON.stringify(json) // 数组转json字符串 {"0":"hello","1": "world","2": "你好啊"}
let jsonStr ='{"0":"hello","1": "world","2": "你好啊"}'
JSON.parse(jsonStr ) // json字符串转json 对象
es6 中有种特殊的json 格式,可以轻松的将json 对象转换成数组
let json = {
'0': 'hello',
'1': 'world',
'2': '你好啊',
length:3
}
let arr=Array.from(json); //用Array.from(json) 来转换
console.log(arr) //['hello','world','你好啊']
5.Set数据结构
Set数据结构,注意这里不是数据类型,而是数据结构。它是ES6中新的东西,并且很有用处。Set的数据结构是以数组的形式构建的。
let setArr = new Set(['jspang','技术胖','web','jspang']);
console.log(setArr); //Set {"jspang", "技术胖", "web"} //Set值的追加add
setArr.add('前端职场'); // 删除delete
setArr.delete('前端职场'); //查找has
console.log(setArr.has('jspang'));//true //删除clear
setArr.clear(); set的循环 //for…of…循环
for (let item of setArr){
console.log(item);
} //size 属性
console.log(setArr.size); //forEach循环
setArr.forEach((value)=>console.log(value));
es2015(es6)学习总结的更多相关文章
- ES6学习笔记<一> let const class extends super
学习参考地址1 学习参考地址2 ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015:也 ...
- ES6学习目录
前面的话 ES6是JavaScript语言的下一代标准,已经在 2015 年 6 月正式发布.它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言 为什么要学 ...
- es6学习笔记-class之继承
继承 上一篇学习了class的概念,在es5时,对象的继承有好几种,原型链继承,借用构造函数继承,组合继承,原型式继承,寄生式继承以及寄生组合式继承,都是按照函数的形式去集成的,现在class也有它的 ...
- es6学习笔记-class之一概念
前段时间复习了面向对象这一部分,其中提到在es6之前,Javasript是没有类的概念的,只从es6之后出现了类的概念和继承.于是乎,花时间学习一下class. 简介 JavaScript 语言中,生 ...
- javascript的ES6学习总结(第二部分)
1.数组循环 介绍数组循环之前,先回顾一下ES5数组的循环 (1)数组遍历(代替普通的for):arr.forEach(callback(val,index,arr){todo}) //val是数组的 ...
- javascript的ES6学习总结(第一部分)
ES6(ESNext学习总结——第一部分) ES6, 全称 ECMAScript 6.0 ,是 JavaScript 的下一个版本标准,2015.06 发版. ECMA每年6月份,发布一个版本 201 ...
- ES6学习笔记<五> Module的操作——import、export、as
import export 这两个家伙对应的就是es6自己的 module功能. 我们之前写的Javascript一直都没有模块化的体系,无法将一个庞大的js工程拆分成一个个功能相对独立但相互依赖的小 ...
- ES6学习笔记<四> default、rest、Multi-line Strings
default 参数默认值 在实际开发 有时需要给一些参数默认值. 在ES6之前一般都这么处理参数默认值 function add(val_1,val_2){ val_1 = val_1 || 10; ...
- ES6学习笔记<三> 生成器函数与yield
为什么要把这个内容拿出来单独做一篇学习笔记? 生成器函数比较重要,相对不是很容易理解,单独做一篇笔记详细聊一聊生成器函数. 标题为什么是生成器函数与yield? 生成器函数类似其他服务器端语音中的接口 ...
- ES6学习笔记<二>arrow functions 箭头函数、template string、destructuring
接着上一篇的说. arrow functions 箭头函数 => 更便捷的函数声明 document.getElementById("click_1").onclick = ...
随机推荐
- springboot-用logback将日志文件按等级保存到不同文件
springboot-用logback将日志文件按等级保存到不同文件 案例: 例如项目基本包名为com.xxx,将该包下的所有日志按debug.info.warn.error等级分别保存到D:/log ...
- transition和animation概况
有人可能会有疑问,CSS3动画不是只有animation一个属性吗?怎么又和转化(transform)和过渡(transition)扯上关系了,其实并非如此,转化(transform)属性让动画的变换 ...
- mysql Innodb索引
基本概念 对于mysql目前的默认存储引擎Innodb来说,索引分为2个,一个是聚集索引,一个是普通索引(也叫二级索引). 聚集索引:聚集索引的顺序和数据在磁盘的顺序一致,因此查询时使用聚集索引,效率 ...
- 51Nod 1182 完美字符串
Input示例 dad Output示例 77 #include "bits/stdc++.h" using namespace std; #define LL long long ...
- 数据结构:Rope
以BZOJ1507为例,这里仅仅展示动态区间问题的一些典型操作,包括插入删除和修改,查询的话不支持按顺序查询 使用起来很简单很方便 #include<cstdio> #include< ...
- Gradle编译时下载依赖失败解决方法
如果Gradle在编译的时候没有在本地仓库中发现依赖,就会从远程仓库中下载,默认的远程仓库为mavenCentral(),也就是http://repo1.maven.org/maven2/,但是往往访 ...
- floyd骚操作——传递闭包
传递闭包的含义指通过传递性推导出尽量多的元素之间的关系,而传递闭包一般都是采用floyd算法. 下面用两道题来实现传递闭包: Problem 1(POJ3660): 题目链接:http://poj.o ...
- POJ 3061 Subsequence ( 尺取法)
题目链接 Description A sequence of N positive integers (10 < N < 100 000), each of them less than ...
- POJ 30253 Fence Repair (二叉树+优先队列)
题目链接 Description Farmer John wants to repair a small length of the fence around the pasture. He meas ...
- 跨域iframe高度计算
一.同域获取iframe内容 这里有两个细节: 1. 取iframe内的文档对象,标准浏览器使用contentDocument属性,IE低版本(IE6,7,8)使用document属性. 2. cal ...