ES6-------学习(3)箭头函数

2018-05-22  本文已影响0人  默色留恋
主动抛出错误

ES6中我们直接用throw new Error( xxxx ),就可以抛出错误。

function add(a,b=1){
 if(a == 0){
    throw new Error('This is error')
 }
  return a+b;
}
console.log(add(0));
函数中的严谨模式

与ES5中的全局严谨模式不一样,ES6中的严谨模式是在函数内,只对此函数有用
S6中的严谨模式不能与默认模式function add(a,b=1){}联用

function add(a,b){
  'use strict'
  if(a == 0){
    throw new Error('This is error');
  }
  return a+b;
}
console.log(add(1));
获得需要传递的参数个数((fn.length))
function add(a,b){
  'use strict'
  if(a == 0){
    throw new Error('This is error');
  }
   return a+b;
}
 console.log(add.length);

箭头函数

var add =(a,b=1) => {
  console.log('jspang')
  return a+b;
};
console.log(add(1));
箭头函数不能当构造函数进行使用。在箭头函数中不可new
对象的函数解构

我们在前后端分离时,后端经常返回来JSON格式的数据,前端的美好愿望是直接把这个JSON格式数据当作参数,传递到函数内部进行处理。ES6就为我们提供了这样的解构赋值。(我们就不用一个个传递参数了。)

let json = {
  a:'jspang',
  b:'技术胖'
}
function fun({a,b='jspang'}){
  console.log(a,b);
}
fun(json);
数组的函数解构
let arr = ['jspang','技术胖','免费教程'];
function fun(a,b,c){
  console.log(a,b,c);
}
fun(...arr);

in的用法

in是用来判断对象或者数组中是否存在某个值的

对象判断
let obj={
  a:'jspang',
  b:'技术胖'
}
console.log('a' in obj);  //true
数组判断

先来看一下ES5判断的弊端,以前会使用length属性进行判断,为0表示没有数组元素。但是这并不准确,或者说真实开发中有弊端。

let arr=[,,,,,];
console.log(arr.length); //5

上边的代码输出了5,但是数组中其实全是空值,这就是一个坑啊。那用ES6的in就可以解决这个问题。

let arr=[,,,,,];
console.log(0 in arr); //false

let arr1=['jspang','技术胖'];
console.log(0 in arr1);  // true

注意:这里的0指的是数组下标位置是否为空。

数组的遍历方法

1.forEach
let arr=['jspang','技术胖','前端教程'];
arr.forEach((val,index)=>console.log(index,val));

forEach循环的特点是会自动省略为空的数组元素,相当于直接给我们筛空了。

2.filter
let arr=['jspang','技术胖','前端教程'];
arr.filter(x=>console.log(x));
3.some
let arr=['jspang','技术胖','前端教程'];
arr.some(x=>console.log(x));
4.map
let arr=['jspang','技术胖','前端教程'];
console.log(arr.map(x=>'web'));

map在这里起到一个替换的作用。

数组转换字符串
join()方法
let arr=['jspang','技术胖','前端教程'];
console.log(arr.join('|'));

join()方法就是在数组元素中间,加了一些间隔,开发中很有用处。

toString()方法
let arr=['jspang','技术胖','前端教程'];
console.log(arr.toString());

toString()方法转换时只是是用逗号隔开了。
感谢胖大神的文章指导。

上一篇下一篇

猜你喜欢

热点阅读