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