2025年8月4日 星期一

關於指數運算子(**)

 關於指數運算子(**)

前言

  JavaScript 提供指數運算子(**),他其實跟早前的 Math.pow() 的功能差不多,但有一些不一樣,在此把學習的過程做個紀錄。


內容

  範例如下

console.log( 2 ** 9 );//512
console.log( 10 ** -3 );//0.001
console.log( Math.pow( 2 , 8 ) );//256
console.log( Math.pow( 10 , -2 ) );//0.01
//
let bigNum = 2n;
console.log( (bigNum ** 10n).toString() );//1024
//Follow has error...
//console.log( (bigNum ** 10n).toString() );
//console.log( (2 ** 10n).toString() );


指數運算子(**)跟一班的運算子用起來一樣,可以在指數運算時提供直觀的程式碼,使用 Math.pow() 也不是不行只是程式碼看起來不簡潔而已。指數運算子(**)有一個不同是可以支援BigInt,Math.pow()並不支援,還有要注意用於 BigInt 時前與後的變數都必須是 BigInt。


參考資料

[ developer.mozilla.org ] 指數運算子(**)

[ developer.mozilla.org ] BigInt


相關文章與資料

關於 JavaScript 的進制轉換

關於 BigInt 轉換非十進制的作法

關於 BigInt 搭配運算子時的注意事項

關於 BigInt