ES6 數值類型常用方法
<script type="text/javascript">
// Number常用方法
/*
Number.isFinite() 用來檢查一個數值是否為有限的(finite)
對於非數字,不會做隱式類型轉換,直接返回false
Number.isNaN() 用來檢查一個值是否為NaN
*/
console.log( Number.isFinite(1)); // true
console.log( Number.isFinite(0.1)); // true
// NaN 不是有限的
console.log( Number.isFinite(NaN)); // false
console.log( Number.isFinite(Infinity)); // false
console.log( Number.isFinite(-Infinity)); // false
// Number.isFinate 沒有隱式的 Number() 類型轉換,所有非數值都返回 false
console.log( Number.isFinite('foo')); // false
console.log( Number.isFinite('15')); // false
console.log( Number.isFinite(true)); // false
// 用於檢查一個值是否為 NaN 。
console.log(Number.isNaN(NaN)); // true
console.log(Number.isNaN(true)); // false
/*
Number.parseInt() 方法可解析一個字符串,並返回一個整數
Number.parseFloat() 方法可解析一個字符串,並返回一個浮點數
*/
console.log(Number.parseInt('12.51')); // 12
console.log(Number.parseInt(12.34)); // 12
console.log(Number.parseFloat('123.45')) // 123.45
console.log(Number.parseFloat('123.45abc')) // 123.45
/*
Math.sign 判斷數字的符號(正、負、0)。
*/
console.log(Math.sign(2)) // 1
console.log(Math.sign(-2)) // -1
// 參數為 0 時,不同符號的返回不同
console.log(Math.sign(0)) // 0
console.log(Math.sign(-0)) // -0
// 判斷前會對非數值進行轉換
console.log(Math.sign('1')) // 1
console.log(Math.sign('-1')) // -1
// 參數為非數值(無法轉換為數值)時返回 NaN
console.log(Math.sign(NaN)) // NaN
console.log(Math.sign('hhh')) // NaN
/*
Math.cbrt 用於計算一個數的立方根。
*/
console.log(Math.cbrt(27)) // 3
/*
Math.trunc 用於返回數字的整數部分。
*/
console.log(Math.trunc(12.3)); // 12
console.log(Math.trunc(12)); // 12
// 整數部分為 0 時也會判斷符號
console.log(Math.trunc(-0.5)); // -0
console.log(Math.trunc(0.5)); // 0
// Math.trunc 會將非數值轉為數值再進行處理
console.log(Math.trunc("12.3")); // 12
// 空值或無法轉化為數值時時返回 NaN
console.log(Math.trunc()); // NaN
console.log(Math.trunc(NaN)); // NaN
console.log(Math.trunc("hhh")); // NaN
console.log(Math.trunc("123.2hhh")); // NaN
</script>
