zoukankan      html  css  js  c++  java
  • Es6中字符串,数值,函数,数组,对象的扩展以及新增方法。

    字符串

    1、replaceAll(),相比于replace,会一次性替换所有的匹配。

    2、includes(),返回布尔值,表示是否找到了参数字符串。

    3、repeat(),方法返回一个新的字符串,表示将原字符串重复n次。

    4、模板字符串

    数值

    1、Number.isFinite()是用来检查一个数值是否为有限的,即不是Infinity,

    2、Number.isNaN()是用来检查一个值是否为NaN

    3、Math.trunc() 方法用于去除一个数的小数部分,返回整数部分

    函数

    1、函数的参数可以设置默认值

    2、箭头函数

        1、箭头函数可不用return,直接返回。

      2、箭头函数中的this对象,就是定义时所在的对象,而不是使用时所在的对象 

      3、不能使用arguments对象,该对象在函数体内部存在,如果要用,可以用rest参数代替

    什么时候不用箭头函数?
    1,定义字面量里面的方法的时候最好不用箭头函数
    2,在对象原型上增加方法时,不要用箭头函数。否则会得到不正确的山下文。
     

    数组

    1、...   扩展运算符,...[],将一个数组转为用逗号分隔的参数序列,这样就可以替代apply方法了。
    // ES5 的写法
    Math.max.apply(null, [14, 3, 77])
    
    // ES6 的写法
    Math.max(...[14, 3, 77])
     
    2、Array.from()
    将两类对象转为真正的数组,类似数组的对象和可遍历的对象
    Array.from('hello')
    // ['h', 'e', 'l', 'l', 'o']
    
    let namesSet = new Set(['a', 'b'])
    Array.from(namesSet) 
    3、Array.of()方法用于将一组值,转换为数组。
    4、Array.find()方法用于找出第一个符合条件的数组成员,参数是一个回调函数,如果没有符合条件的成员,则返回undefined。Array.find()方法用于找出第一个符合条件的数组成员的位置,如果所有的成员都不符合条件,则返回-1。
    5、fill方法使用给定值,填充一个数组。

    6、includes(),方法返回一个布尔值,表示某个数组是否包含给定的值。

    7、 数组实例的flat,flatMap()

    falt()默认会把拉平一层的数组,flat(2)表示要拉平2层的嵌套数组。

    如果不管有多少层嵌套,都要转成一维数组,可以用Infinity关键字作为参数。list.flat(Infinity)。

    faltMap该方法返回一个新数组,不改变原数组。只能展开一层

    8、数组的空位,处理,es6中会将空位统一转为undefined

    对象:

    1、扩展运算符

    2、链式判断运算符

    对象新增的方法

    1. Object.is(A,B)

    两个值是否是严格相等,解决 === 在处理NaN不等于自身的情况。和=== 比较的方法差不多。
    所以,比较对象的时候,意味着每个对象的引用地址是相同的

    2. Object.assign(target,source1,source2),

    将源对象(source)的所有可枚举属性,复制到目标对象上。
    at:1 、如果目标对象与源对象有同名属性,或多个源对象有同名属性,则后面的属性会覆盖前面的属性。
    2、如果参数不是对象会先转成对象,然后返回,如果参数只是源对象的位置,无法转为对象时会跳过。
    3、由于null和undefined无法转化为对象,若他们作为参数就会报错,但是若不在目标对象的位置,此时不会报错。
    4、只有字符串的包装对象,会产生可枚举的实际意义的属性,那些属性则会被拷贝。例如:const obj = Object.assign({},1,true,'abc'); 此时obj为{ "0": "a", "1": "b", "2": "c" }.
    5、Object.assign()拷贝得到的是这个对象的引用。不能拷贝继承属性。是浅拷贝。
    6、Object.assign()可以用来处理数组,但是会把数组视为对象,Object.assign([1,2,3],[4,5]) => [4,5,3] 
    常见的用途:
    1、为对象添加属性,
    2、为对象添加方法,
    3、克隆对象
    4、合并多个对象
    5、为属性指定默认值
     
    3. Object.getOwnPertyDescriptors()方法会返回某个对象属性的描述对象。
    4. Object.setPrototypeOf(object, prototype)用来设置对象的原型对象。
    5. Object.setPrototypeOf(object)用来读取对象的原型属性
     

    这些较为常用:

    6. Object.keys()方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历属性的键名。
    7 . Object.values() 方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历属性的值。
    8 . Object.entries() 方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历键值对数组。可将对象转为真正的Map结构。
    9 . Object.fromEntries() 方法是Object.entries()的逆操作,用于将一个键值对数组转为对象。该方法的主要目的是将键值对的数据结构还原为对象。特别合适将Map结构转为对象。例如:Object.fromEntries([['foo', 'bar'], ['baz', 42]]) // { foo: "bar", baz: 42 }
     

     

  • 相关阅读:
    LC 155 Min Stack
    TUM 慕尼黑工业大学 MSEI 课程结构介绍 ws19/20
    C++ MinGW 配合 Sublime Text 搭建
    LC 752 Open the Lock
    LC 200 Number of Islands
    Python lambda
    关于无法连接网络安装VisualVM解决方案
    二叉堆的解读
    哈希表的实现
    红黑树解读
  • 原文地址:https://www.cnblogs.com/jwenming/p/14693626.html
Copyright © 2011-2022 走看看