• es6~ 常用语法总结


    1. 声明多个变量并解构赋值
      • 解构:将对象或数组,变为多个变量
      //1. 数组解构
      let [a, b, c] = [1, 2, 3]; // 相当于 let a=1;let b=2;let c=3
      let [a, ...b] = [1, 2, 3]    //相当于 let a=1;let b=[2,3];
      let [a, b, c] = 'hel';    //相当于 let a=1;let b=2;let c=3,字符串本身是字符数组
       //2. 对象解构
      let { a, b } = { a: 'a', b: 'b' }     // 相当于 let a='a';let b= 'b';
      let {a, ...b}={a: 10, b: 20, c: 30};   //相当于 let a=10;let b={b: 20, c: 30};  
      
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
    2. 简写
          //属性简写
          const age = 12; 
          const name = "Amy";
          const person = {age, name};//相当于  const person ={age: 12, name: "Amy"}
        
        //函数和函数对象参数简写
        let person={
            getName({a}){
               console.log(a);
            };
        }
      
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
    3. 函数
      1. 箭头函数 : (a,b)=>{},单变量简写 a=>{}
      2. 函数参数: …args,用来代替arguments
    4. …运算符
      //1. 函数参数
      function a(...param){
            console.log(param);//参数数组     
      }
      //2.剩余变量
      let [a, ...b] = [1, 2, 3]//相当于 let a=1;let b=[2,3];
      let {a, ...b}={a: 10, b: 20, c: 30};  //相当于 let a=10;let b={b: 20, c: 30};
      
      //3.解构且合并数组
      let arr1 = [1, 2]; 
      let arr2 = [3, 4];
      let arr = [...arr1, ...arr2];//相当于let arr=[1,2,3,4]
      
        //4.解构且合并对象
        let age = {age: 15}; 
        let name = {name: "Amy"}; 
        let person = {...age, ...name};//相当于  let person ={age: 15, name: "Amy"}
        
        //解构传参
       let fun= function(a,b,c){}  
       let param=[1,2,3]
       fun(...param)
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      • 22
    5. 默认值
      //1.函数参数默认值
      function f(b,c=1){
         console.log(c)
      };
      f(2)//结果:1
      //2.解构默认值
      let {a=1,b}={b:2};//a=1,b=2
      let [a,b=2]=[1];//a=1,b=2
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
    6. 引入了Map和Set对象
    7. n次方操作符:**,eg. 2**3=8
    8. Array.includes:是否包含某元素
    9. async、await
      //异步函数
      async function a(){
      //await 必须在 async下使用
      await ajax();//等待完成
      await ajax2();
      
      }
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
    10. flat和flatMap
      [1,2,[3,4]].flat(1) // 变为1维数组,结果:[1,2,3,4]]
      
      • 1
      flatMap是map和flat的结合,下面的两个操作是等价的:
      arr.flatMap(func)
       arr.map(func).flat(1)
      
      • 1
      • 2
    11. import () 方法:动态导入
    12. String.prototype.replaceAll
          const str = "hello world";
           // 之前
           str.replace(/o/g, "a")// "hella warld"
           // 现在
           str.replaceAll("o", "a")// "hella warld"
      
      • 1
      • 2
      • 3
      • 4
      • 5
    13. ?? 运算符
          let a=b||'1' //b=null或undefined或0时,结果为1
          let a=b??'1' //b=null或undefined时,结果为1
      
      • 1
      • 2
    14. ??= 空值赋值运算
          let a=2;
          a??=1 //a=null或undefined,结果为1
          console.log(a)//结果为2
      
      • 1
      • 2
      • 3
    15. ?. 对象为空时,获取其属性不报错,而获取到undefined值
         let a;
         let d=a?.b //a=null或undefined时不会报错,a.b返回undefined
      
      • 1
      • 2
  • 相关阅读:
    向量数据库入坑指南:聊聊来自元宇宙大厂 Meta 的相似度检索技术 Faiss
    npm install常见错误的完整指南
    【小沐学Python】网络爬虫之urllib
    Java数据类型,变量与运算符
    Jmeter性能监控
    介绍rabbitMQ
    机器学习(二十六):LightGBM 模型
    【LeetCode】592. 分数加减运算
    基于 JuiceFS 构建高校 AI 存储方案:高并发、系统稳定、运维简单
    Dash 2.14版本开始支持动态回调注册!
  • 原文地址:https://blog.csdn.net/TheThirdMoon/article/details/136235344