• ES8(2017)新特性学习


    字符串填充

    (1)从前填充:str.padStart(targetLength [, padString]);

    示例:
    'es8'.padStart(7, '0');     // '0000es8'

    (2)从后填充:str.padEnd(targetLength [, padString])

    示例:
    'es8'.padEnd(7, '6');     // 'es86666'

    对象值遍历

    (1)Object.values(obj);

    Object.values 函数会返回指定对象的可枚举的属性值数组,数组中值顺序与 for-in 循环保持一致;

    首个参数 obj 即为需要遍历的目标对象,它可以为某个对象或者数组(数组可以看做键为下标的对象):

    示例:
    const obj = ['e', 's', '8']; // same as { 0: 'e', 1: 's', 2: '8' }; 
    Object.values(obj); // ['e', 's', '8']

    (2)Object.entries(obj);

    Object.entries 方法则会将某个对象的可枚举属性与值按照二维数组的方式返回,数组中顺序与 Object.values 保持一致,该函数的声明与使用为:

    const obj = { 10: 'xxx', 1: 'yyy', 3: 'zzz' };
    Object.entries(obj); // [['1', 'yyy'], ['3', 'zzz'], ['10': 'xxx']]
    Object.entries('es8'); // [['0', 'e'], ['1', 's'], ['2', '8']]

    异步函数

    四种使用方式:

    • 函数声明: async function foo() {}
    • 函数表达式: const foo = async function() {}
    • 对象的方式: let obj = { async foo() {} }
    • 箭头函数: const foo = async () => {}

    ES8 中允许使用 async/await 语法来定义与执行异步函数,async 关键字会返回某个 AsyncFunction 对象;在内部实现中虽然异步函数与迭代器的实现原理类似,但是其并不会被转化为迭代器函数:

    function fetchTextByPromise() {
      return new Promise(resolve => { 
        setTimeout(() => { 
          resolve("es8");
        }, 2000);
      });
    }
    async function sayHello() { 
      const externalFetchedText = await fetchTextByPromise();
      console.log(`Hello, ${externalFetchedText}`); // Hello, es8
    }
    sayHello();
    
    console.log(1);
    sayHello();
    console.log(2);
    
    // 调用结果
    1 // immediately
    2 // immediately
    Hello, es8 // after 2 seconds
    

      

     
    
    
  • 相关阅读:
    bzoj1107: [POI2007]驾驶考试egz LIS+单调队列
    poj3134 Power Calculus 迭代加深搜索
    洛谷P3953 逛公园 记忆化搜索
    洛谷P3960 列队 splay
    bzoj1486: [HNOI2009]最小圈 分数规划
    SharePoint Add-in Model (App Model) 介绍 – 概念、托管方式、开发语言
    SharePoint Add-in Model 介绍
    Office Add-In 应用类型及平台支持
    使用 Napa 创建并调试一个 Office 内容应用 – Hello World
    Office Add-in Model 简介
  • 原文地址:https://www.cnblogs.com/wgl0126/p/9138433.html
Copyright © 2020-2023  润新知