ES9/ES10 几个新属性


prtyaa
prtyaa 2023-12-26 18:28:01 64413
分类专栏: 资讯
  • 1、Object.fromEntities() 将键值对列表转成对象

    const map = new Map([
      ['foo', 'bar'],
      ['baz', 42]
    ]);
    
    const obj = Object.fromEntries(map);
    
    console.log(obj); // {foo: 'bar', baz: 42}
    

    2、Object.entries() 返回给定对象自身可枚举属性的键值对数组

    const obj = {
      a: 'somestring',
      b: 2
    };
    
    for (const [key, value] of Object.entries(obj)) {
      console.log(`${key}: ${value}`);
    }
    // a: somestring
    // b: 2
    

    3、for await of 异步遍历器

    function Gen (time) {
      return new Promise(function (resolve, reject) {
        setTimeout(function () {
          resolve(time)
        }, time)
      })
    }
    
    async function test () {
      let arr = [Gen(2000), Gen(100), Gen(3000)]
      for await (let item of arr) {
        console.log(Date.now(), item)
      }
    }
    
    test()
    

    4、Promise.prototype.finally() promise 执行结束时,无论是 fulfilled 还是 rejected,在执行 then() 或者 catch 之后,都会执行 finally 的回调函数。

    5、正则表达式

    • s (dotAll) flag

    正则表达式中,点(.)是一个特殊字符,代表任意的单个字符,但是有两个例外,一个是四个字节的 UTF-16 字符,这个可以用u修饰符解决;另一个是行终止符(U+000A 换行符(\n)、U+000D 回车符(\r)、U+2028 行分隔符、U+2029 段分隔符)

    console.log(/foo.bar/.test('foo\nbar')) // false
    console.log(/foo.bar/s.test('foo\nbar')) // true
    

     

    判断是否使用了 dotAll 模式

    const reg = /foo.bar/s // new RegExp('foo.bar', 's')
    console.log(reg.test('foo\nbar')) // true
    console.log(reg.dotAll) // true
    console.log(reg.flags) // 's'
    
    • named capture groups

    在写正则表达式的时候,可以把一部分用()包裹起来,被包裹起来的这部分称作“分组捕获”。

    let time = '2021-09-22'.match(/(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/);
    console.log(time)
    // ['2021-09-22', '2021', '09', '22', index: 0, input: '2021-09-22', groups: {…}]
    // groups: {year: '2021', month: '09', day: '22'}
    
    console.log(time.groups.year) // '2021'
    console.log(time.groups.month) // '09'
    console.log(time.groups.day) // '22'
    

     

    6、删除空格

    • trim()
    • trimLeft()
    • trimRight()
    • trimStart()
    • trimEnd()

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=31010
赞同 0
评论 0 条
实际上cen和lef是两个分别的别名是可以当做单独的Class来操作兴趣练习:跳动心形CSS文件

  • [网页编程]-03 CSS 常用属性 2023-12-27 64072 浏览

    字体处理常用属性