数组方面

Array.from(xxx):把json格式字符串转换成数组;

Array.of(x,x,x):负责把一堆文本或者变量转换成数组

find( ):该方法为实例方法,就是以Array对象开头的,该方法有三个参数(value,index,arr);具体用法看代码

let arr=[1,2,3,4,5,6,7,8,9];
console.log(arr.find(function(value,index,arr){
return value > 5;
}))
//

find()

fill( )实例方法:把数组进行填充并替换,也是有三个参数(填充变量,开始填充位置,填充到的位置);

let arr=[0,1,2,3,4,5];
arr.fill('es',2,5);
console.log(arr); //[ 0, 1, 'es', 'es', 'es', 5 ]

fill()

for…of循环:数组遍历

//简单遍历
let arr=['e','s','6']
for (let item of arr){
console.log(item); //e s 6
}
//遍历索引
let arr1=['e','s','6']
for (let index of arr1.keys()){
console.log(index); //0 1 2
}
//遍历索引和内容
let arr=['e','s','6']
for (let [index,val] of arr.entries()){
console.log(index+':'+val); //0:e 1:s 2:6
}

entries( )实例方法:英文意思是:进入,入口处,入口权。它可以帮我们生成Iterator(迭代,游标)形式的数组,因此需要时我们可以用 list.next().value 来访问下一个值。

除了用for of循环遍历数组,我们也可以用forEach,filter,some来进行遍历

let arr=['e','s','6'];
arr.forEach((val,index)=>console.log(index,val));
/*
输出如下:
0 'e'
1 's'
2 '6'
*/
let arr1=['E','C','M'];
arr1.filter(x=>console.log(x));
/*
E
C
M
*/
let arr2=['Y','R','Z'];
arr2.some(x=>console.log(x));
/*
Y
R
Z
*/

  

函数方面

默认值:ES6函数的参数可以设置默认值的,例如如下代码是不会报错的。注意:如果再严令模式下,使用默认值是会报错的

function add(a,b=1){
return a+b;
}
console.log(add(1)); // 2

主动抛出错误:ES6中直接用throw new Error( xxxx ),就可以抛出错误

function add(a,b){
if(a == 0){
throw new Error(`This is error${new Date()}${3+3}`);
}
return a+b;
}
console.log(add(0,1)); // This is errorThu May 17 2018 14:52:23 GMT+0800 (中国标准时间)6

箭头函数  注意:如果是函数体中有多行代码时,就需要用大括号“{}”括起来才行

var add =(a,b=1) => a+b;
console.log(add(1));

解构赋值(非常强大)

对象的函数解构,解构可以用来函数传参,从此不用像es5中的一个一个传值了。

let json = {
a:'e',
b:'s',
c:'6'
}
function fun({a,b,c}){
console.log(a,b,c);
}
fun(json); //e s 6

数组的函数解构,用…进行解构赋值 

let arr = ['e','s','6'];
function fun(a,b,c){
console.log(a,b,c);
} fun(...arr); //e s 6

in   是用来判断对象或者数组中是否存在某个值的。下面代码中的a 或 0 指的是对象的健(key)或者数组的下标

let obj={
a:'e',
b:'s'
}
console.log('a' in obj); //true
let arr1=['e','s'];
console.log(0 in arr1); // true

ES6那些事半功倍的新特性(一)的更多相关文章

  1. ES6的十大新特性(转)

    add by zhj: 该文章是由国外一哥们写的,由腾讯前端团队翻译,图片中的妹子长得挺好看的,很养眼,嘿嘿.我目前在学习ES6,这篇文章把ES6的 几个主要新特性进行了归纳总结,犹如脑图一般,让人看 ...

  2. es6/es7/es8常用新特性总结(超实用)

    本文标题有误导性,因为我其实想写node8的新特性,说实话一下子从node v1.x跳跃到node 8.x+ 真有点受宠若惊的感觉.一直觉得node 数组. 对象.序列等的处理没有python方便,因 ...

  3. 从 ES6 到 ES10 的新特性万字大总结

    以下文章来源于鱼头的Web海洋 ,作者陈大鱼头   鱼头的Web海洋 一个名为Web的海洋世界 (给前端大全加星标,提升前端技能) 作者:鱼头的Web海洋 公号 / 陈大鱼头 (本文来自作者投稿) 介 ...

  4. 从ES6到ES10的新特性万字大总结

    介绍ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会)在标准ECMA-262中定义的脚本语言规范.这种语言在万维网上应用广泛,它往往被称为JavaScript或JScript,但实 ...

  5. ES6中的一些新特性

    这两个命令是ES6的新语法知识.这两个新的特性解决了ES6中的一些小的"bug"问题.其中包含一些知识:块级作用域.let命令.const命令.全局对象的属性.Google V8引 ...

  6. es6中的部分新特性

    1.es6中变量声明可以使用let声明变量,用const声明常量.例: test:function(){ { var num=10; let num1=11; const num2=12; } con ...

  7. ES6语法:函数新特性(一)

    ES6 函数 引言: 函数在任何语言中偶读很重要,java里面的函数通常叫做方法,其实是一个东西,使用函数可以简化更多的代码,代码结构看着更加清晰.今天我们来学学ES6语法中,函数有什么变化. 虽然现 ...

  8. 轻松学会ES6新特性之生成器

    生成器虽然是ES6最具魔性的新特性,但也是最难懂得的一节,笔者写了大量的实例来具体化这种抽象的概念,能够让人一看就懂,目的是希望别人不要重复或者减少笔者学习生成器的痛苦经历. 在说具体的ES6生成器之 ...

  9. Vue.js源码中大量采用的ES6新特性介绍:模块、let、const

    1 关于ES6      ECMAScript6(以下简称ES6)是JavaScript语言的最新一代标准,发布于2015年6月,因为ECMA委员会决定从ES6起每年更新一次标准,因此ES6被改名为E ...

随机推荐

  1. GeoServer中配置GeoWebCache切片缓存目录

    war版的GeoServer中,默认情况下,GeoWebCache切片会缓存在C盘某目录下.该目录比较隐蔽,并且随着切片缓存的增多,所占空间也会越来越大,所以建议手动配置其切换缓存目录. 配置方式:在 ...

  2. 为上海莫大型重工企业提供基于TFS的软件研发流程管理培训

    这周,和微软公司的朋友一起,受上海莫大型重工企业的要求,为企业软件部门一个60多人的软件团队提供了为其2天的全流程培训,培训基于微软Team Foundation Server 2017(TFS 20 ...

  3. js框操作-----Selenium快速入门(八)

    js框,就是JavaScript中的警告框(alert),确认框(confirm),提示框(prompt),他们都是模态窗口.什么是模态窗口,大家可以自行百度一下,简单说就是弹出的窗口是在最顶端的,你 ...

  4. Nginx+IIS部署负载均衡的常见问题

    windows 下配置 Nginx 常见问题 一.  Nginx配置 找到 conf 目录里的 nginx.conf 文件,配置Nginx #user nobody; #指定nginx进程数 work ...

  5. C#委托总结-入门篇

    1,概念:委托类型表示对具有特定参数列表和返回类型的方法的引用. 通过委托,可以将方法视为可分配给变量并可作为参数传递的实体. 委托是引用类型,可以把它看作是用来存方法的一种类型.比如说类型strin ...

  6. ASP.NET webform多次提交表单问题

    最近几天遇到一个头疼的问题,项目采用的是webform开发,每个界面都有个提交按钮,点击多次提交按钮导致提交按钮的OnClick事件执行了多次, 每次OnClick里面都有一些逻辑处理,执行了多次导致 ...

  7. sqlserver学习

    清空数据表: delete from TableName  清除表中的所有的数据,保留表的结构 truncate table TableName 清除表中所有行,保留表结构 (重置ID) 删除表 Dr ...

  8. SL 的 DATAGRID中如何加入计算列?

    例如,我的数据库中实体表对应到EF中的实体类是 class { public int  F1; public int F2; } 我在服务端做domainservice 我在SL端使用wcf ria, ...

  9. Android TV Overscan

    本文来自网易云社区 作者:孙有军 开发的TV应用发现在部分电视上可以显示完整,而其他部分电视显示不全,周围都会遮挡了. 原因 这是因为部分老的电视有一个overscan的概览,什么叫overscan呐 ...

  10. MySQL查询语句练习题(面试时可能会遇到哦!)

    Sutdent表的定义 字段名 字段描述 数据类型 主键 外键 非空 唯一 自增 Id 学号 INT(10) 是 否 是 是 是 Name 姓名 VARCHAR(20) 否 否 是 否 否 Sex 性 ...