JS中使用ES6语法简化开发

18 篇文章 0 订阅
7 篇文章 0 订阅
文章详细介绍了ES6中的结构赋值,包括数组和对象的解构,以及函数参数的默认值和不定参数。还讨论了箭头函数的使用,对象的优化操作如Object.keys、Object.values等,并提到了Promise用于封装异步操作的基本概念。
摘要由CSDN通过智能技术生成

结构表达式

ES6结构表达式

// 结构表达式:
let arr = [1,2,3];
// 将数组中的1,2,3赋值给a,b,c
const [a,b,c] = arr;
console.log(a,b,c);

let person = {name:"zs",age:23};
// 将对象中的值赋值给name和age
let {name,age} = person;
console.log(name,age);

// 将对象中的值赋值给变量属性
let {name:username,age:num} = person;
console.log(username,num);

给函数传参

给参数赋默认值,当b为空时给b添加默认值

// 原本写法:给参数赋默认值,当b为空时给b添加默认值
function getAddNum(a,b){
	b = b || 1;
	return a + b;
}
// ES6写法:当b为空时给b添加默认值
function getAddNumEs6(a,b=1){
	b = b || 1;
	return a + b;
}

不定参数

不定参数,可以给函数传入多个参数

// 不定参数,可以给函数传入多个参数
function fun(...values){
	console.log(values);
	console.log(values.length);
}

fun(1,"a",3);

箭头函数

箭头函数和结构表达式

// 箭头函数和结构表达式
let hello = ({name})=>console.log("hello,"+name);
// 调用该函数
hello(person);

声明对象优化

Object.keys(person): 获取对象中的所有属性
Object.values(person):获取对象中的所有属性值
Object.entries(person):获取对象中的所有属性和属性值并生成数组返回
Object.assign(target,source1)):合并targetsource1对象并返回target对象

  • 对象的深拷贝
  • 对象的合并
// 对象优化
let person = {name:"张三",age:23,sex:"男"};
console.log("获取对象中的所有属性:",Object.keys(person));
console.log("获取对象中的所有属性值:",Object.values(person));
console.log("获取对象中的所有属性和属性值并生成数组返回:",Object.entries(person));

// 将多个对象合并成一个对象
let target = {a:1},source1={b:2},source2={c:3};
// 将对象中的值合并成一个对象中
console.log("将对象中的值合并到target对象中",Object.assign(target,source1,source2));

// 对象声明的简化
let name = "张三",age=23;
// ES6中声明对象,表明属性时name(age)值时name(age)的值
let p = {name,age};
console.log(p);

// 对象的深拷贝
let pp = {name:"张三",age:23};
let someone = {...pp};
console.log(someone);

// 合并对象
let name1 = {name:"张三"},age1 = {age:23};
let ps = {...name1,...age1};
console.log(ps);

map方法

map:接收一个函数,使用此函数将原数组中的元素处理后返回新的数组

// map()方法和reduce(callback)方法
let array = ['1','-3','10','-1','3'];
// map:接收一个函数,使用此函数将原数组中的元素处理后返回新的数组
array = array.map(item=>item*2);
//array = array.map((item)=>item*2);
console.log(array);

reduce方法

reduce(callback):为数组中的每个元素执行回调函数,不包括被删除或从未被赋值的元素

// reduce(callback):为数组中的每个元素执行回调函数,不包括被删除或从未被赋值的元素
/** callback中的参数:
 *		previousVal:上次调用回调的返回值
 *		currentVal:数组中当前被处理的元素
 *		index:当前元素的索引
 *		array:调用reduce的数组
 */
let array = ['1','-3','10','-1','3'];
let result = array.reduce((a,b)=>{
	console.log("上次处理后:",a);
	console.log("当前在处理:",b);
	return a + b;
});
console.log(result);

Promise的使用

Promise可以封装异步操作。resolve:成功返回回调,reject失败返回回调

// Promise可以封装异步操作。resolve:成功返回回调,reject失败返回回调
let promise = new Promise((resolve,reject)=>{
	$.ajax({
		url:"",
		success:function(data){
			resolve(data);
		},
		error:function(error){
			reject(error);
		}
	})
});
// resolve(data)成功时返回的值
promise.then((data)=>{
	console.log(data);
})
.catch((err)=>{ // reject(error)失败时返回的值
	console.log(err);
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值