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 = ...
随机推荐
- crontab 定期拉取代码
* * * * * cd /home/wwwroot/default/lion/ && /usr/bin/git pull origin 5hao >> /tmp/git. ...
- MySql 利用函数 查询所有子节点
前提:mysql 函数 find_in_set(str,strlist), cast(value as type) 一.find_in_set(str,strlist):如果字符串str是在的 ...
- js随机数生成与排序
'use strict'; // 排序算法. // 生成一个指定数量的不含重复数字的随机数组 function ranArr(n,callback) { var res = []; var tmp ; ...
- HDU 5533Dancing Stars on Me 基础几何
Problem Description The sky was brushed clean by the wind and the stars were cold in a black sky. Wh ...
- javascript 变量类型判断
一.typeof 操作符 对于Function, String, Number ,Undefined 等几种类型的对象来说,他完全可以胜任,但是为Array时 "); typeof arr ...
- 另类dedecms后台拿shell
遇到一个被阉割的后台,发现直接传shell显然不行. 然后就有了下文 添加一个新广告. 插入一句话木马: --><?php $_GET[c]($_POST[x]);?><!-- ...
- ms17-010 攻击win7漏洞复现
只是为了好玩重新写一篇.利用还是很简单的. 将下载下来的rb放置在:/usr/share/metasploit-framework/modules/exploits/windows/smb/ 目录下 ...
- linux 自旋锁和信号量【转】
转自:http://blog.csdn.net/xu_guo/article/details/6072823 版权声明:本文为博主原创文章,未经博主允许不得转载. 自旋锁最多只能被一个可执行线程持有( ...
- Linux C中内联汇编的语法格式及使用方法(Inline Assembly in Linux C)【转】
转自:http://www.linuxidc.com/Linux/2013-06/85221p3.htm 阅读Linux内核源码或对代码做性能优化时,经常会有在C语言中嵌入一段汇编代码的需求,这种嵌入 ...
- 打印 pmic register value
打印 PMIC register value 方式有二種, 一種是使用 adb shell cat pmic register 一種是直接在 code 裡 call dump pmic registe ...