二进制 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. html续篇及初识爬虫

    今日内容概要 form表单 requests模块 可以模拟浏览器朝服务端发送各式各样的请求 cookie与session requests模块小案例(网站的基本防爬措施) 今日内容详细 form表单 ...

  2. (第一章第二部分)TensorFlow框架之图与TensorBoard

    系列博客链接: (一)TensorFlow框架介绍:https://www.cnblogs.com/kongweisi/p/11038395.html 本文概述: 说明图的基本使用 应用tf.Grap ...

  3. Go之Logrus用法入门

    Go之Logrus用法入门 Logrus是Go (golang)的结构化日志程序,完全兼容标准库的API日志程序. Logrus is a structured logger for Go (gola ...

  4. ELK日志收集(SpringBoot)

    目录 环境&准备 ES安装 Kibana安装 Logstash安装 Logstash配置 SpringBoot中logback-spring.xml配置 测试 启动 ES\Kibana\Log ...

  5. 安装MYSQL8.0提示api-ms-win-crt-runtime-l1-1-0.dll 丢失

    Windows Server 2012 api-ms-win-crt-runtime-l1-1-0.dll 丢失 2017-11-06 11:11:37 Martin_Yelvin 阅读数 17015 ...

  6. [JS基础] 带你深入了解JS原型

    简介 下面这张图大家应该很很熟悉了,各位大佬讲原型及原型链的时候是大部分都会用到下面这张图片的 我想以自己的方式来讲述一遍,一是帮助我自己更好的复习,二是希望能够帮助到想要复习或者学习原型的同学 在讲 ...

  7. java8中CompletableFuture的使用介绍

    既然CompletableFuture类实现了CompletionStage接口,首先我们需要理解这个接口的契约.它代表了一个特定的计算的阶段,可以同步或者异步的被完成.你可以把它看成一个计算流水线上 ...

  8. Ubuntu20.04服务器+Anaconda上创建Python3.6虚拟环境并

    镜像下载.域名解析.时间同步请点击 阿里巴巴开源镜像站 前言 由于服务器已安装Anaconda,包含的Python版本为3.8,为使用3.6版本同时避免和其他人互相影响,我选择创建虚拟环境,并在其中安 ...

  9. vue路由-router

    VueRouter基础 vue路由的注册 导入 <script src="https://unpkg.com/vue-router/dist/vue-router.js"&g ...

  10. wordpress在线检测主题和插件

    http://wpthemedetector.coderschool.cn/ http://www.wpthemedetector.com/ http://whatwpthemeisthat.com ...