ES6系列三 数值的扩展

一丶Number方法

1.ES6 将全局方法parseInt()parseFloat(),移植到Number对象上面,行为完全保持不变。

// ES5的写法
parseInt(‘12.34‘) // 12
parseFloat(‘123.45#‘) // 123.45

// ES6的写法
Number.parseInt(‘12.34‘) // 12
Number.parseFloat(‘123.45#‘) // 123.45

2.Number.isInteger()用来判断一个值是否为整数。需要注意的是,在 JavaScript 内部,整数和浮点数是同样的储存方法,所以3和3.0被视为同一个值。

Number.isInteger(25) // true
Number.isInteger(25.0) // true
Number.isInteger(25.1) // false
Number.isInteger("15") // false
Number.isInteger(true) // false

二丶Math对象的扩展

1.Math.trunc方法用于去除一个数的小数部分,返回整数部分。

Math.trunc(4.1) // 4
Math.trunc(4.9) // 4
Math.trunc(-4.1) // -4
Math.trunc(-4.9) // -4
Math.trunc(-0.1234) // -0

2.Math.sign方法用来判断一个数到底是正数、负数、还是零。对于非数值,会先将其转换为数值。

它会返回五种值。

  • 参数为正数,返回+1;
  • 参数为负数,返回-1;
  • 参数为0,返回0;
  • 参数为-0,返回-0;
  • 其他值,返回NaN。
  • Math.sign(-5) // -1
    Math.sign(5) // +1
    Math.sign(0) // +0
    Math.sign(-0) // -0
    Math.sign(NaN) // NaN
    Math.sign(‘9‘); // +1
    Math.sign(‘foo‘); // NaN
    Math.sign();      // NaN
时间: 2024-10-15 02:39:01

ES6系列三 数值的扩展的相关文章

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

ES6 对于数值类型 (Number) 进行了一下扩展: 1.对于二进制和八进制提供了新的写法 ES6对于二进制和八进制的数值提供了新的写法,分别用0b (或者0B) 和0o (或者0o) 表示.例如: 0b111110111 === 503 // true 0o767 === 503 //true 由于从ES5开始,严格模式中,八进制不再允许使用前缀0来表示,因此在ES6中进一步明确,要用0o来表示. 如果要将0b和0o前缀的字符串数值转换为十进制,要使用Number方法, 例如: var i

ES6系列四 函数的扩展

一丶ES6 允许为函数的参数设置默认值,即直接写在参数定义的后面. function log(x, y = 'World') { console.log(x, y); } log('Hello') // Hello World log('Hello', 'China') // Hello China log('Hello', '') // Hello 二丶与解构赋值结合 function fetch(url, { body = '', method = 'GET', headers = {} }

ES6-----学习系列三(正则扩展)

一.es6在正则方面主要是增加了一些新的方法及一些修饰符,下面一一列出 // 字符串对象的4个使用正则表达式的方法: match(),replace(),search(),split()这四个方法全部调用RegExp的实例的方法. { let regex = new RegExp('xyz', 'ig'); console.log(regex.test('xyz0XYZ1xyz2'), regex.exec('xyz0XYZ1xyz2')); } ①构造函数不同 { // #构造函数# let

ES6标准学习: 3、数值的扩展

数值的扩展 注:以下内容中: 0 表示数字零, o 为英文字母. 一.二进制和八进制数值表示法 es6提供了二进制和八进制的数值表示法,分别用前缀0b(或者0B)和0o(或者0O)表示. 1 0b111110111 === 503 // true 2 0o767 === 503 // true 从es5开始,在严格模式中,八进制的数值就不允许使用0前缀表示,es6明确表示,要使用0o表示 1 // 非严格模式 2 (function () { 3 console.log(0o11 === 011

ES6随笔--各数据类型的扩展(2)--数值

ES6随笔--各数据类型的扩展(2)--数值 二进制和八进制表示 二进制0b(或0B)表示:八进制0o(或0O)表示: 这两种字符串转换成十进制数值,使用Number()方法: Number('0b111') // 7 Number.isFinite(), Number.isNaN(); Number.isFinite()的参数如果不是数值,一律返回false, Infinity/-Infinity/NaN都返回false: Number.isNaN()对不是NaN的参数一律返回false; 这

es6之各种数据类型的扩展

一. 字符串的扩展 为字符串添加了Iterator,可以被for...of遍历 includes.startsWith.endsWith都会返回布尔值,且支持第二个参数(开始搜索的位置),endsWith针对前n个字符,其他两个都是从第n个到结束 repeat返回一个新字符串,参数为重复的次数(小数会向下取整,负数或Infnity会报错,0到-1等同于0,字符串会转为数字) padStart.padEnd在头部或尾部补全,第一个参数是字符串最小长度,第二个参数是用来补齐的字符串 模板字符串`${

ES6关于Unicode的相关扩展

前面的话 JS中的字符串类型是由引号括起来的一组由16位Unicode字符组成的字符序列.在过去,16位足以包含任何字符,直到Unicode引入了扩展字符集,编码规则不得不进行变更.本文将详细介绍ES6关于Unicode的相关扩展 概述 Unicode的目标是为世界上每一个字符提供唯一标识符,唯一标识符称为码位或码点(code point).而这些码位是用于表示字符的,又称为字符编码(character encode) 在ES6之前, JS 的字符串以 16 位字符编码(UTF-16)为基础.每

[ES6系列-04]再也不乱“哇”了:用 let 与 const 替代 var

[原创]码路工人 Coder-Power 大家好,这里是码路工人有力量,我是码路工人,你们是力量. github-pages 博客园cnblogs 今天的内容是,关于 JavaScript 中定义变量的变化(其实不确切,函数,常量表示被冷落). 首先,回顾下 var 定义存在的问题 1. 哇..var 好乱.. 1.1 可以重复定义 /* eg.0 * multi-definition of var-variable */ //----------------------------------

《ECMAScript 6 入门- 第四章 数值的扩展》 —— 摘抄

1. 二进制和八进制表示法 ES6提供了二进制和八进制数值的新的写法,分别用前缀0b和0o表示. 0b111110111 === 503 // true 0o767 === 503 // true 八进制用0o前缀表示的方法,将要取代已经在ES5中被逐步淘汰的加前缀0的写法. 2. Number.isFinite(), Number.isNaN() ES6在Number对象上,新提供了Number.isFinite()和Number.isNaN()两个方法,用来检查Infinite和NaN这两个