ECMAScript es6數值的擴充套件

2021-10-25 06:47:32 字數 3048 閱讀 3243

一、ecmascript-es6數值的擴充套件

1. 二進位制0b 八進位制0o

// es5中將十進位制數 --> 二進位制數

const a =

5// 101

console.

log(a.

tostring(2

))// 101

// es5中將二進位制數 --> 十進位制數

const b =

101console.

log(

parseint

(b,2))

// 5

// es6 0b表示二進位制 0o表示八進位制

const a =

0b0101

console.

log(a)

// 5

const b =

0o123

console.

log(b)

// 83

2. number.isfinite(),number.isnan()
// number.isfinite() 是否有限, 非數值都是false

console.

log(number.

isfinite(5

))// true

console.

log(number.

isfinite(5

/0))

// false

// number.isnan() 不是乙個數

console.

log(number.

isnan

(nan))

// true

3. number.parseint(),number.parsefloat()
console.

log(number.

parseint

(5.5))

// 5

console.

log(number.

parsefloat

(5.5))

// 5.5

console.

log(window.

parseint

(5.5))

// 5 es5 window下的parseint

console.

log(window.

parsefloat

(5.5))

// 5.5

4. number.isinteger()
// 是不是乙個整數

console.

log(number.

isinteger

(5.5))

// false

5. 0.1 + 0.2 === 0.3 ???
// 精度缺失

// ieee 754 雙精度標準去儲存

// 35 -> 00100011

// 0.375 -> 0.011

console.

log(

0.1000000000000001

)console.

log(

0.10000000000000001

)// 0.1

// 最大值

const max = math.

pow(2,

53)console.

log(max)

// 9007199254740992

console.

log(max +1)

// 9007199254740992

// 最小值

const min = math.

pow(-2

,53)console.

log(min)

// -9007199254740992

console.

log(min -1)

// -9007199254740992

// 安全的數

console.

log(number.

max_safe_integer

)// 9007199254740991

console.

log(number.

min_safe_integer

)// -9007199254740991

6. math新增方法
// 去除乙個數的小數部分

console.

log(math.

trunc

(2.34))

// 2

console.

log(math.

trunc(-

2.34))

// 2

console.

log(math.

trunc

(true))

// 1

console.

log(number.

parseint

(2.34))

// 2

console.

log(number.

parseint(-

2.34))

// 2

console.

log(number.

parseint

(true))

// nan

// 判斷引數是正數 負數 還是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.

cbrt(5

))// 125

ES6 數值擴充套件

1.二進位制表示法 以0b開頭console.log b 0b111110111 4942.八進位制表示法 以0o開頭console.log 0o767 5033.判斷乙個數是否有盡 或者判斷是否為字元console.log 15 number.isfinite 15 isfinite 判斷數值是否...

es6 數值的擴充套件

1 二進位制的表示 字首 0b 八進位制的表示 0o 2 number.isfinite number.isnan 3 number.parseint number.parsefloat 4 number.isinteger number.epsilon 5 number.issafeinteger...

ES6精華 數值擴充套件

es6為數值增加了些常量和方法,使計算更為簡便安全。本篇概括了這中的精華知識。js採用ieee 754標準的64位雙精度格式儲存數值。數值的精度最多可達到53個二進位制位 1個隱藏位和52個有效位 如果數值的精度超過此限度,第54位及後面的會被丟棄。數值的極值分為兩種 可表示的極值和可精確計算的極值...