ES6中函数新增方法

1 默认参数 2.必填项不填报错 2.有些参数没有给传参的话可以有默认值
这样js就和后台语言的方法很像了
function ajax(url = new Error('url不能为空'), method = 'GET', dataType = 'json') {
  console.log(url);
  console.log(method);
  console.log(dataType);
}

将该方法编译为ES5代码后,如下所示:

function ajax() {
  var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Error('url不能为空');
  var method = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'GET';
  var dataType = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'json';

  console.log(url);
  console.log(method);
  console.log(dataType);
}

2.展开运算符 相当于把数组中的每个元素依次取出

let arr5 = [1,2,3];
let arr6 = [4,5,6];
//let arr7 = [].concat(arr5,arr6);
let arr7 = [...arr5,...arr6];

max函数:

let max = Math.max(1,2,3);//3

let arr6 = [4,5,6];
let max = Math.max(...arr6);//6

3.对象解构:

//实现浅度拷贝
let obj1 = {name:'1'};
let obj2 = {age:2};
/**
 * 1.循环赋值
 * @type {{}}
 */
let obj3 = {};
for(let key in obj1){
  obj3[key] = obj1[key];
}
for(let key in obj2){
  obj3[key] = obj2[key];
}
/**
 * 1.assign
 * 1参数是target 后面都是来源对象
 */
Object.assign(obj3,obj1,obj2);
/**
 * 对象解构
 */
obj3 = {...obj1,...obj2};
console.log(obj3);

 

posted on 2019-04-13 17:55  琪琪伤感  阅读(381)  评论(0)    收藏  举报