ES6学习5章:正则&数值扩展

来源:互联网 发布:安永 咨询 知乎 编辑:程序博客网 时间:2024/05/20 07:59

一、正则构造函数

  • 在ES5中,new RegExp(/xyz/,’i’) 会报错,因为不允许有第二个参数
  • 在ES6中,第二个参数代表修饰符
var regEx = new RegExp(/xyz/i)var regEy= new RegExp(/xyz/,'i')  // 等价var regEz = new RegExp(/xyz/ig,'i')  // 会忽略之前的ig,而使用i修饰符

1.1 字符串的正则方法

  • 字符串可以使用正则表达式的4个方法: replace(),match(),search(),split()
  • ES6将这4个方法,在语言内部全部调用RegExp的实例方法。。
    1. u修饰符
  • 即为Unicode模式

二、Number的扩展

  • Number.isFinite() 判断数值是否有限
  • Number.isNaN() 判断数值是否是NaN
  • Number.parseInt() ES6将parseInt,parseFloat移植到了Number对象上
  • Number.parseFloat()
  • Number.isInteger() 判断值是否为整数
// ES5parseInt(15.12)  // 15parseFloat(123.456$) //123.456// ES6Number.parseInt(15.12)  //15# 这样做的目的是,减少全局性方法,使语言逐步模块化

三、Math对象的扩展

  • Math.trunc() 去除一个数的小数部分,返回整数部分(对于非数值会先转为数据再计算)
  • Math.sign() 判断数是正数、负数、还是0 ,有五种返回值: 参数为正数,返回+1,为负数,返-1,为0,返0,为-0返回-0,为其他值返NaN

  • ES6新增了Math的对数方法

  • ES6新增了Math的三角函数方法
  • 指数运算

四、数组的扩展

  • Array.from() 将类数组对象转为数组对象(类对象:类似数组的对象和可遍历的对象)
  • arr.copyWithin(target,start,end) :从target位置开始替换,start位置开始读取,end停止读取。会修改原数组。
  • find(cb) 查看数组中的值
  • findIndex(cb) 查找数组中的索引
  • fill(val,start,end) 填充已有数组,如果只有value则全部填充,start为开始填充的搁置,end为结束填充的位置
  • entries() 遍历数组键值对
  • keys() 遍历键名
  • values() 遍历值
  • inclues() 数组是否包含给定值(属于ES7),Babel转码器已经支持
[1,3,-1,6].find(n=> n<0)[1,3,-1,6].find((value,index,arr)=>{    return value>0})# 遍历for(let elem of ['a','b'].values()){    console.log(elem)}// a  b # inclues方法[1,2,NaN].includes(NaN) //true# ES5部署一个简易替代includes的方法const contains=(()=>{    Array.prototype.includes    ? (arr,value)=>arr.includes(arr,value)    : (arr,value)=> arr.come(el=>el===value)})()
原创粉丝点击