ES6一些常用语法总结
1.数组、对象的匹配赋值【解构赋值】
let [a,b,c] = [1,2,3]
// 可以用于变量值之间的转换
let a = 1;
let b = 2;
[a,b] = [b,a]
// 成功切换
let {name,age} = {name:"fanqi",age:27}; //变量名需要和对象的属性名称相对应
2.模版字符串
let a = "中国";
let b = `我是${a}人`;
3.函数默认值
function test(a,b = 2){
return a + b;
}
// 惰性求职
let b = 1;
function test(x = b + 1){
return x;
}
4.箭头函数
function context(){
this.a = 1;
return {
test1: () => {
console.log(this.a); // 此处的this正常输出
},
test2: function(){
console.log(this.a); // 此处的this指向的是当前函数的this,因此为underfined
}
}
}
5.rest参数
function test(...params){
console.log(params); //params 是一个数组
}
test(1,2,3);
6.扩展运算符【展开运算符】
console.log(...[1,2,3]);
console.log([...[1,2,3],...[4,5,6]]);
7.属性方法简写
let pro = "1";
let obj = {pro};
console.log(obj);
let obj2 = {
say:function(){
console.log("说话");
},
run(){
console.log("跑步");
}
}
obj2.say();
obj2.run();
export{
imgView
}
// 等价于
export{
imgView: imgView
}
8.复制对象
let obj1 = {a: 1,b: 2};
let obj2 = Object.assign({},obj1);
let obj3 = {...obj1};
9.Promise
// p1,p2,p3是3个Promise,用数组包裹,Promise.all会等待多个Promise执行完成后执行then中的函数
Promise.all([p1,p2,p3]).then(data => {
console.log(data);
})
10.async/await
1.async
async function test1(){
// 凡是被async修饰的函数,返回值一定是一个Promise对象
// 如果返回的不是Promise对象,那么最终会自动被Promise包裹并通过resolve函数返回
return 1;
}
// 等价于
async function test2() {
return new Promise(
resolve => {
resolve(1);
}
);
}
test1().then(res => {
console.log(res);
})
test2().then(res => {
console.log(res);
})
2.await
// await关键字只能在async修饰的函数中使用,起到等待、阻塞的作用
async function test() {
let p1 = new Promise((resolve,reject) => {
setTimeout(() => {
reject('done!')
}, 2000);
});
try{
let reuslt = await p1;
console.log(reuslt);
}catch(e){
console.log('catch');
console.log('errer',e);
}
}
test();
作者:奇
出处:https://www.cnblogs.com/fanqisoft/p/18688325
版权:本作品采用「本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。」许可协议进行许可。
分类:
TS/ES/JS/Node
, Javascript
如果文章内容对您有所帮助,欢迎赞赏.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2023-01-23 Nacos 数据源的适配方案