ES6的字符串和数值的扩展

字符串扩展

对于处理大于两个字节(大于0xffff)的字符,let str =’u{20bb7}abc’

  ES5中的遍历  for(let i=0;i<str.length;i++){ console.log(str[i]) }  //输出乱码和abc

  ES6中的遍历  for(let i of str){ console.log(i) }  //正常输出

判断字符串包含某些字符:

  { let str=”string” cosole.log(str.includes(“t”)) }  //true

判断字符串是否以某字符开头或者截止的:

  { let str=”string” cosole.log(str.startsWith(“st”)) }   //true

  { let str=”string” cosole.log(str.endWith(“ng”)) }   //true

复制字符串

  { let str=”string” cosole.log(str.repeat(2)) }   //stringstring  复制两遍

字符模板 `${变量}`

  { let name=”abc”;let info =”helloworld”; let m = `I am ${name},${info}` } //I am abc,helloworld

字符串填充

  { ‘str’.padStart(4,’a’) }  //astr  向前补充

  { ‘str’.padEnd(4,’a’) }  //stra   向后补充

raw对都进行了转义

  { String.raw`hi ${1+2}` }  //hi 3

数值扩展

是否是有尽的

  Number.isFinite(15)  //true

  Number.isFinite(NaN)   //false

判断是否是数字

  Number.isNaN('abx')  //false

判断是否是整数

  Number.isInteger(1.1)  //false

  Number.isInteger(1.0)  //true

判断数字最大上限和最小下限

  Number.MAX_SAFE_INTEGER   //9007199254740991  2的53次方

  Number.MIN_SAFE_INTEGER   //-9007199254740991

判断数字是否在这个安全范围内(前提死一定是整数)

  Number.isSafeInteger(255)  //true

判断带小数的数值的整数部分

  ES5中使用Math.floor(24.7)  Math.Ceil(24.7)

  ES6中 Math.trunc(34.9)  //34

判断数字是正数负数还是0

  Math.sign(-5)  //-1

  Math.sign(5)  //1

  Math.sign('adv')   //NaN