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

版权:本作品采用「本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。」许可协议进行许可。

posted @   SpringCore  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2023-01-23 Nacos 数据源的适配方案
more_horiz
keyboard_arrow_up light_mode palette
选择主题
点击右上角即可分享
微信分享提示