ES6 ------ 基础(五)

简介: ES6 ------ 基础(五)

数值扩展

  1. Number.EPSILON(接近于2.2E-16) 是 JavaScript 表示的最小精度。
  function equal(a,b){
        if(Math.abs(a-b) < Number.EPSILON){
            return true
        }else{
            return false
        }
    }
    console.log(0.1 + 0.2 === 0.3) // false
    console.log(equal(0.1 + 0.2, 0.3)) // true
  1. 二进制、八进制和十六进制
  let b = 0b1010 // 二进制 = 十进制的 10
    let o = 0o777  // 八进制 = 十进制的 511
    let d = 100    // 十进制
    let x = 0xff   // 十六进制 = 十进制的 255
    console.log(b) //10
    console.log(o) //511
    console.log(d) //100
    console.log(x) //255
  1. Number.isFinite 检测一个数值是否为一个有限数。
  console.log(Number.isFinite(100)) // true
    console.log(Number.isFinite(100/0)) // false
    console.log(Number.isFinite(Infinity)) //false  (Infinity为无穷)
  1. Number.isNaN 检测一个数值是否为 NAN
  console.log(Number.isNaN(123)) //false
  1. Number.parseInt 和 Number.parseFloat 字符串转整数
console.log(Number.parseInt('5201314love')) // 5201314
console.log(Number.parseFloat('3.1415926神奇')) //3.1415926
  1. Number.isInteger 判断一个数是否为整数
  console.log(Number.isInteger(5)) //true
    console.log(Number.isInteger(2.5)) //false
  1. Math.trunc 将数字的小数部分抹掉
  console.log(Math.trunc(3.5)) // 3
  1. Math.sign 判断一个数到底为正数、负数还是零
  console.log(Math.sign(100)) // 1    
    console.log(Math.sign(0))     // 0
    console.log(Math.sign(-200)) // -1

对象方法的扩展

  1. Object.is:判断两个值是否完全相等
  console.log(Object.is(120,120)) // true
    console.log(Object.is(120,121)) // false

Object.is() 和 === 很像,但是也有区别

  console.log(Object.is(NaN,NaN)) // true
    console.log(NaN === NaN) //false
  1. Object.assign:对象的合并
  const config1 = {
        host: 'localhost',
        port: 3306,
        name: 'root',
        pass: 'root'
    }
    const config2 = {
        host: 'http://www.baidu.com',
        port: 33060,
        name: 'baidu.name',
        pass: 'love'
    }
  // 后面的覆盖前面的. 如果前面的有后面的没有的某个,则保留前面的某个,其余的仍然覆盖.
    console.log(Object.assign(config1, config2))

7c58aaefb21244be80b727a3661ea431.png

  1. Object.setPrototypeOf 设置原型对象 和 Object.getPrototypeOf 获取原型对象
  const school = {
        name: '山东大学'
    }
    const cities = {
        xiaoqu: ['济南','威海']
    }
    Object.setPrototypeOf(school, cities)
    console.log(school)

e025c0eead344edb997b40602f1439cb.png

  const school = {
        name: '山东大学'
    }
    const cities = {
        xiaoqu: ['济南','威海']
    }
    Object.setPrototypeOf(school, cities)
    console.log(Object.getPrototypeOf(school))

7cb1c7d4d51a4eaeb787e899649036b1.png

不积跬步无以至千里 不积小流无以成江海

相关文章
|
2月前
|
JavaScript 网络架构
ES6-----6种变量
ES6-----6种变量
37 7
|
2月前
|
API
ES6基础----Reflect的使用
ES6基础----Reflect的使用
|
JavaScript
ES6----ES6模块化
ES6----ES6模块化
|
前端开发
ES11 ------ 新增属性
ES11 ------ 新增属性
110 0
ES11 ------ 新增属性
|
前端开发 JavaScript 数据库
|
算法 安全 JavaScript
python---js逆向------再接再励------案例
python---js逆向------再接再励------案例
|
网络架构
ES6 ------ 基础(一)
ES6 ------ 基础(一)