二进制 0B      八进制 0O
Number.isFinite() , Number.isNaN()
Number.parseInt() , Number.parseFloat()
Number.isInteger()
0.1+0.2 === 0.3 ???
Math新增方法
 
十进制 -> 二进制,ES5的做法:
const a = 5; // 101
console.log(a.toString(2));

  

二进制 -> 十进制,ES5的做法:
const b = 101
console.log(parseInt(b, 2));

  

ES6 0B二进制  0O八进制:
const a1 = 0B101
const b1 = 0O777
console.log(a1); // 5
console.log(b1); // 511

  

Infinity表示无限的,所以Number.isFinite()方法判断这个数是否是有限的:
console.log(Number.isFinite(1.33)) // true
console.log(Number.isFinite(5 / 0)) // false
console.log(Number.isFinite(Infinity)) // false
// 如果参数不是数值类型,一律判断为false
console.log(Number.isFinite('a')); // false
console.log(Number.isFinite(true)); // false

  

Number.isNaN()
Number.parseInt()
Number.parseFloat()
原本这些方法是挂载在window对象下面,现在ES6将window下一些方法放到对应模块下,减小window的体量
 
 
Number.isInteger() 判断是否为整数:
console.log(Number.isInteger(5)); // true
console.log(Number.isInteger(5.5)); // false

  

由于js使用的是 IEEE754 双精度标准,所以导致0.1+0.2 !=0.3

 
 
JS的最值:
const max = Math.pow(2, 53)
console.log(max); // 9007199254740992
console.log(max + 1); // 9007199254740992
console.log(Number.MAX_SAFE_INTEGER); // 9007199254740991 :max-1
console.log(Number.MIN_SAFE_INTEGER); // -9007199254740991
console.log(Number.isSafeInteger(Number.MAX_SAFE_INTEGER)); // true
console.log(Number.isSafeInteger(Number.MAX_SAFE_INTEGER + 1)); //false

  

Math.trunc() 去除小数部分返回整数:
console.log(Math.trunc(5.5)); // 5
console.log(Math.trunc(-5.5)); // -5
console.log(Math.trunc(true)); // 1 console.log(Number.parseInt(5.5)); // 5
console.log(Number.parseInt(-5.5)); // -5
console.log(Number.parseInt(true)); // NaN

  

Math.sign() 判断当前这个数值是正数还是负数还是0:
console.log(Math.sign(5)); // 1
console.log(Math.sign(-5)); // -1
console.log(Math.sign(0)); // 0
console.log(Math.sign(NaN)); // NaN
console.log(Math.sign(true)); // 1
console.log(Math.sign(false)); // 0
console.log(Math.sign('ABC')); // NaN

  

Math.cbrt() 立方根:
console.log(Math.cbrt(8)); // 2
console.log(Math.cbrt('8')); // NaN

  

 -----------------------------------------------ES7------------------------------------------------------------
幂运算符:**
等同于Math.pow()
console.log(Math.pow(2, 10));
console.log(2 ** 10);

  

ES6-11学习笔记--数值的扩展的更多相关文章

  1. js-ES6学习笔记-数值的扩展

    1.ES6 提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o(或0O)表示. 2.如果要将0b和0o前缀的字符串数值转为十进制,要使用Number方法. 3.ES6在Number对象 ...

  2. C++11 学习笔记 std::function和bind绑定器

    C++11 学习笔记 std::function和bind绑定器 一.std::function C++中的可调用对象虽然具有比较统一操作形式(除了类成员指针之外,都是后面加括号进行调用),但定义方法 ...

  3. JavaScript学习笔记--ES6学习(五) 数值的扩展

    ES6 对于数值类型 (Number) 进行了一下扩展: 1.对于二进制和八进制提供了新的写法 ES6对于二进制和八进制的数值提供了新的写法,分别用0b (或者0B) 和0o (或者0o) 表示.例如 ...

  4. JavaScript:学习笔记(8)——对象扩展运算符

    JavaScript:学习笔记(8)——扩展运算符 对象的扩展运算符 扩展运算符是三个点(...).用于取出参数对象的所有可遍历属性,然后拷贝到当前对象之中. 如上图所示,新建了一个对象a,然后通过扩 ...

  5. ES6学习笔记(二)——字符串扩展

    相信很多人也和我一样,不喜欢这样循规蹈矩的逐条去学习语法,很枯燥乏味.主要是这样学完一遍之后,没过一段时间就忘到九霄云外了.不如实际用到的时候研究它记得牢靠,所以我就整理成笔记,加深记忆的同时便于复习 ...

  6. ES6 - 基础学习(5): 数值扩展

    二进制和八进制数值表示法 ES6提供了二进制和八进制数值的新写法,分别前缀 0b(或0B). 0o(或0O)然后跟上二进制.八进制值即可. 二进制(Binary)表示法新写法:前缀 0b 或 0B. ...

  7. ES6的字符串和数值的扩展

    字符串扩展 对于处理大于两个字节(大于0xffff)的字符,let str =’\u{20bb7}abc’ ES5中的遍历  for(let i=0;i<str.length;i++){ con ...

  8. js-ES6学习笔记-函数的扩展

    1.ES6函数参数的默认值,直接写在参数定义的后面.参数变量是默认声明的,所以不能用let或const再次声明. function Point(x = 0, y = 0) { this.x = x; ...

  9. C++11学习笔记

    C++11 1.long long新类型 2.列表初始化 int t=0; int t={0}; int t(0); int t{0}; 注意:如果我们使用列表初始化有丢失信息的风险,则编译器报错 l ...

随机推荐

  1. Python迭代器,生成器,装饰器

    迭代器 通常来讲从一个对象中依次取出数据,这个过程叫做遍历,这个手段称为迭代(重复执行某一段代码块,并将每一次迭代得到的结果作为下一次迭代的初始值). 可迭代对象(iterable):是指该对象可以被 ...

  2. Excel VBA中写SQL,这些问题的方法你一定要牢记

    小爬之前的文章 [Excel VBA中写SQL,这些问题你一定为此头痛过]中详细讲诉了一些常见的VBA 中使用SQL遇到的问题,这里再补充两个常见的问题场景及对应的解决方案,希望你们看了后能够思路开阔 ...

  3. JZ-037-数字在排序数组中出现的次数

    数字在排序数组中出现的次数 题目描述 统计一个数字在升序数组中出现的次数. 题目链接: 数字在排序数组中出现的次数 代码 /** * 标题:数字在排序数组中出现的次数 * 题目描述 * 统计一个数字在 ...

  4. SQL Server--设置用IP地址登录

    问题概述:新安装的SQL Server数据库无法用IP地址登录. 是因为 SQL Server  "服务器网络实用工具"中禁用了"命名管道"所致! 在sqlse ...

  5. source tree的使用

    参看博客: https://blog.csdn.net/syq8023/article/details/89844030 http://jingyan.baidu.com/album/59703552 ...

  6. jmeter(二十八)利用beanshell进行多重断言

    在接口测试中,我们对返回结果的正确性判断一般是基于响应报文的返回内容进行断言.但有些时候,按照正常的业务逻辑来说,一个请求返回的内容是多种不同的. 比如:用户注册功能,注册成功是正常的返回messag ...

  7. VUE-表单验证

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. MySQL 8.0.13(Windows压缩版本)下载安装教程

    MySQL下载安装教程 1.首先在百度上搜索mysql 2.点击链接进去,找到对应的路径 3.进去之后,可以看到版本是8.0.13,以及最下面有个Download按钮,点击下载 4.之后会跳转到开始下 ...

  9. PicGo+Typora配置gitee图床

    1 .下载Typora Typora官网地址:https://www.typora.io/#windows 本文使用的Typora版本为 0.11.2 根据自己的要求进行安装即可! 2.下载PicGo ...

  10. 常见的Socket网络异常场景分析

    原创:打码日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处. 简介 在目前微服务的背景下,网络异常越来越常见了,而有一些网络异常非常模糊,理解什么情况下会导致什么异常,还是有一定难度 ...