ES6 - ECMA2019 - 学习总结

2020-07-28  本文已影响0人  squidbrother
新的概念与方法

概略图:


ECMA2019
基本使用

字符串扩展

  1. trimStart() 消除字符串行首空格
var str = "   abc";
var resStr = str.trimStart();
console.log(resStr,resStr.length);   //abc 3
  1. trimEnd() 消除字符串行尾空格
var str = "xyz   ";
var resStr = str.trimEnd();
console.log(resStr,resStr.length);   //xyz 3

对象扩展

  1. Object.fromEntries(); 从Array Iterator 反向获取对象
    Object.entries()
    entries() 方法返回一个数组的迭代对象,该对象包含数组的键值对 (key/value)
    Object.fromEntries()
    是对entries方法迭代对象的逆向操作,返回原始对象
var obj = {"a":1,"b":2};
var objEntries = Object.entries(obj);
console.log(objEntries);    //[["a", 1],["b", 2]];
var returnObj = Object.fromEntries(objEntries);
console.log(returnObj);     //{a: 1, b: 2}

数组扩展

  1. Array.flat([depth]); 将多维数组转化为一维数组,参数为扁平化的深度,若选择无限层级,则设置为Infinity
var arr = [1,2,3,[4,5,[6,7]]];
var resArr = arr.flat(Infinity);
console.log(resArr);  //(7) [1, 2, 3, 4, 5, 6, 7]
  1. Array.flatMap(); 扁平化一维数组,参数为一个函数,类似map操作,但是附带一个一维的flat
    ···
    var arr = [1,2,3,[4,5,[6,7]]];
    var resArr = arr.flatMap(x=>x);
    console.log(resArr); //[1,2,3,4,5,[6,7]];
    ···

symbol 扩展 description

description 是一个只读属性,它会返回 Symbol 对象的可选描述的字符串。

Symbol('desc').toString();   // "Symbol(desc)"
Symbol('desc').description;  // "desc"
Symbol('').description;      // ""
Symbol().description;        // undefined

// global symbols
Symbol.for('foo').description; // "foo"
上一篇下一篇

猜你喜欢

热点阅读