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);
浙公网安备 33010602011771号