2023年11月27日 星期一

關於 Number 物件

 關於 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 的方式,而是直接透過建構式的結果就可以轉型。

 

參考資料

developer.mozilla.org ] Number() constructor

沒有留言:

張貼留言