字符串的扩展
-
字符的Unicode表示法
-
字符串的遍历器接口
let str = "zxllmm"
for(let item of str){
console.log(item) // z x l l mm
}
-
模板字符串
带标签的模板字符串
ES6字符串新增API
String.fromCodePoint() // 找到unicode码对应的字符
String.prototype.includes() // 字符串中是否包含某个字符,返回一个boolean值
String.prototype.startsWith() // 字符串是否一某个字符开头
String.prototype.endsWith() // 字符串是否一某个字符结尾
String.prototype.repeat(num) // 重复一个字符串,num=>重复的次数
正则表达式的扩展
数字的扩展
ES5进制转换
let a = 10
// 十进制转为2进制
console.log(a.toString(2))
let b = 101
// 2进制转为10进制
console.log(b.parseInt(b,2))
Es6新增的进制表示法
二进制 0B 十进制 0O
在严格模式下直接写 let a = 0101 是会报错的,必须加上前缀。
let b = 0B010
console.log(b) // 2
let c = 0O777
console.log(c) // 511
Number新增API
Number.isFinite()
判断参数是否为有限的
Number.isNaN()
判断当前参数是否为NaN
Number.parseInt()和Number.parserFloat()
Es6的趋势之一就是将原本属于某一类的API从window大对象中分离出来,归到属于自己的类中。
Number.isInteger()
判断参数是否为整数型
let a = 5
console.log(Number.isInteger(a))// true
精度缺失
在计算机中数字是采取IEEE 754双精度标准存储的。
计算机能接受的最大值和最小值是253和-253。
let max = Math.pow(2,53)
console.log(max)
console.log(Number.MAX_SAFE_INTEGER) //输出最大的安全值
console.log(Number.MIN_SAFE_INTEGER) //输出最小的安全值
console.log(Number.isSafeInteger(max)) //判断是否为安全值
Math新增API
Math.trunc()
Math.trunc()和Number.parseInt()的异同
同:Math.trunc()和Number.parseInt()都可以去掉数字后面小数点。
异:Number.parseInt()无法转换一个Boolean类型的值,Math.trunc()可以先将Boolean类型转换为数字。
Math.sign()
判断参数为正数还是负数。
正数返回1 负数返回-1 0返回0 NaN返回NaN
Math.cart()
返回参数的立方根
console.log(8) // 2
console.log('zxl') // NaN