• ES7


    本文是自己所学的ES7的一些常用的新特性:

    一、padStart()方法,padEnd()方法:

    如果某个字符串不够指定长度,有两个方法可以在头部或尾部补全。padStart()用于头部补全,padEnd()用于尾部补全。

    'x'.padStart(5, 'ab') // 'ababx'
    'x'.padStart(4, 'ab') // 'abax'
    'x'.padEnd(5, 'ab') // 'xabab'
    'x'.padEnd(4, 'ab') // 'xaba'
    padStart()和padStart()一共接受两个参数,第一个参数用来指定字符串的最小长度,第二个参数是用来补全的字符串。
    如果原字符串的长度,等于或大于指定的最小长度,则返回原字符串。
    二、Array.prototype.includes()方法
    includes()的作用,是查找一个值在不在数组里,若在,则返回true,反之返回false。 基本用法:
    ['a', 'b', 'c'].includes('a')     // true
    ['a', 'b', 'c'].includes('d')     // false
    Array.prototype.includes()方法接收两个参数:要搜索的值和搜索的开始索引。当第二个参数被传入时,该方法会从索引处开始往后搜索(默认索引值为0)。若搜索值在数组中存在则返回true,否则返回false。
     
    ['a', 'b', 'c', 'd'].includes('b')         // true
    ['a', 'b', 'c', 'd'].includes('b', 1)      // true
    ['a', 'b', 'c', 'd'].includes('b', 2)      // false
     
    ES6里数组的另一个方法indexOf,下面的示例代码是等效的:
    ['a', 'b', 'c'].includes('a')          //true
    ['a', 'b', 'c'].indexOf('a') > -1      //true
     
    indexOf返回的是某个元素在数组中的下标值,若想判断某个元素是否在数组里,我们还需要做额外的处理,即判断该返回值是否>-1。而includes则不用,它直接返回的便是Boolean型的结果。
    两者使用的都是 === 操作符来做值的比较。但是includes()方法有一点不同,两个NaN被认为是相等的,即使在NaN === NaN结果是false的情况下。这一点和indexOf()的行为不同,indexOf()严格使用===判断
    let demo = [1, NaN, 2, 3]
     
    demo.indexOf(NaN) //-1
    demo.includes(NaN) //true
     
    上述代码中,indexOf()方法返回-1,即使NaN存在于数组中,而includes()则返回了true。
    上述代码中,indexOf()方法返回-1,即使NaN存在于数组中,而includes()则返回了true。
     
    提示:由于它对NaN的处理方式与indexOf不同,假如你只想知道某个值是否在数组中而并不关心它的索引位置,建议使用includes()。如果你想获取一个值在数组中的位置,那么你只能使用indexOf方法。
    includes()还有一个怪异的点需要指出,在判断 +0 与 -0 时,被认为是相同的。
    [1, +0, 4, 5].includes(-0) //true
    [1, +0, 4, 5].indexOf(-0) //1
    在这一点上,indexOf()与includes()的处理结果是一样的,前者同样会返回 +0 的索引值。
    注意:在这里,需要注意一点,includes()只能判断简单类型的数据,对于复杂类型的数据,比如对象类型的数组,二维数组,这些,是无法判断的。

    三、求幂运算符(**)

    基本用法
    3 ** 2 // 9
    同:
    Math.pow(3, 2) // 9
    let a = 2
    2 **= 2
    // 4
     
  • 相关阅读:
    Python 自省指南(原文http://www.ibm.com/developerworks/cn/linux/l-pyint/#ibm-pcon)
    PyDev for Eclipse 简介
    (转)盘点前 10 名的免费跨浏览器测试工具
    使用 JMeter 完成常用的压力测试
    Python 单元测试框架 —— PyUnit
    runtime实现对象存储型数据库——LHDB
    从零实现一个基于UDP的iOS聊天程序(一)-- GCDAsyncUdpSocket源码解析
    hadoop实战随笔_070818
    hadoop实战笔记_170816
    hadoop实战随笔_170814
  • 原文地址:https://www.cnblogs.com/wyryuebanwan/p/10333383.html
Copyright © 2020-2023  润新知