關於 Number 物件
前言
最近發現 JavaScript 有 Number 物件,發現用起來根想得不太一樣,在此把學習的過程做個紀錄。
內容
範例如下
let numObj = new Number(1234); console.log(typeof numObj);//"object" // let num1 = 1 + numObj; let num2 = numObj + 2; console.log( num1 );//1235 console.log(typeof num1);//"number" console.log( num2 );//1236 console.log(typeof num2);//"number" console.log( Number.isSafeInteger(numObj ) );//false console.log( Number.isSafeInteger(Number(numObj) ) );//true
範例開頭使用 new Number() 的方式創建,用 typeof 確定型別是 object ,而非 number ,接著分別測試先加與後加的結果,也就是 num1 與 num2 ,這裡的結果根想的不一樣,無論先加或後加的結果都是 number ,而非 object ,最後範例透過 Number.isSafeInteger() 來測試發現結果是 false ,表示在輸入參數時並不像運算時一樣會自動轉型,要如何把 Number 物件轉乘 Number 呢?透過 Number() ,不過這次不要使用 new 的方式,而是直接透過建構式的結果就可以轉型。
沒有留言:
張貼留言