成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

盤點(diǎn)JavaScript中BigIn函數(shù)常見的屬性

開發(fā) 前端
本文基于JavaScript基礎(chǔ),介紹了 BigInt 函數(shù),常見的屬性,通過 BigInt 函數(shù)進(jìn)行數(shù)字運(yùn)算符的比較。布爾運(yùn)算等等,通過按案例的分析進(jìn)行詳細(xì)的講解。

[[427702]]

大家好,我是進(jìn)階學(xué)習(xí)者。

一、概述

BigInt 是一種特殊的數(shù)字類型,它提供了對(duì)任意長(zhǎng)度整數(shù)的支持。

創(chuàng)建 bigint 的方式有兩種:在一個(gè)整數(shù)字面量后面加 n 或者調(diào)用 BigInt 函數(shù),該函數(shù)從字符串、數(shù)字等中生成 bigint。

  1. const bigint = 1234567890123456789012345678901234567890n; 
  2. const sameBigint = BigInt("1234567890123456789012345678901234567890"); 
  3. const bigintFromNumber = BigInt(10); // 與 10n 相同 

二、屬性

1. 數(shù)學(xué)運(yùn)算符

BigInt 大多數(shù)情況下可以像常規(guī)數(shù)字類型一樣使用。

例如:

  1. alert(1n + 2n); // 3 
  2. alert(5n / 2n); // 2 

注:

除法 5/2 的結(jié)果向零進(jìn)行舍入,舍入后得到的結(jié)果沒有了小數(shù)部分。對(duì) bigint 的所有操作,返回的結(jié)果也是 bigint。

不可以把 bigint 和常規(guī)數(shù)字類型混合使用:

  1. alert(1n + 2); // Error: Cannot mix BigInt and other types 

如果有需要,應(yīng)該顯式地轉(zhuǎn)換它們:使用 BigInt() 或者 Number(),像這樣:

  1. let bigint = 1n; 
  2. let number = 2; 
  3. // 將 number 轉(zhuǎn)換為 bigint 
  4. alert(bigint + BigInt(number)); // 3 
  5. // 將 bigint 轉(zhuǎn)換為 number 
  6. alert(Number(bigint) + number); // 3 

轉(zhuǎn)換操作始終是靜默的,絕不會(huì)報(bào)錯(cuò),但是如果 bigint 太大而數(shù)字類型無(wú)法容納,則會(huì)截?cái)喽嘤嗟奈唬虼藨?yīng)該謹(jǐn)慎進(jìn)行此類轉(zhuǎn)換。

BigInt 不支持一元加法

一元加法運(yùn)算符 +value,是大家熟知的將 value 轉(zhuǎn)換成數(shù)字類型的方法。

為了避免混淆,在 bigint 中不支持一元加法:

  1. let bigint = 1n; 
  2. alert( +bigint ); // error 

應(yīng)該用 Number() 來(lái)將一個(gè) bigint 轉(zhuǎn)換成一個(gè)數(shù)字類型。

2. 比較運(yùn)算符

比較運(yùn)算符,例如 < 和 >,使用它們來(lái)對(duì) bigint 和 number 類型的數(shù)字進(jìn)行比較沒有問題。

  1. alert( 2n > 1n ); // true 
  2. alert( 2n > 1 ); // true 

注:

由于 number 和 bigint 屬于不同類型,它們可能在進(jìn)行 == 比較時(shí)相等,但在進(jìn)行 ===(嚴(yán)格相等)比較時(shí)不相等:

  1. alert( 1 == 1n ); // true 
  2.  
  3. alert( 1 === 1n ); // false 

3. 布爾運(yùn)算

當(dāng)在 if 或其他布爾運(yùn)算中時(shí),bigint 的行為類似于 number。

例:

在 if 中,bigint 0n 為 false,其他值為 true:

  1. if (0n) {   
  2.   // 永遠(yuǎn)不會(huì)執(zhí)行 

布爾運(yùn)算符

例如 ||,&& 和其他運(yùn)算符,處理 bigint 的方式也類似于 number:

  1. alert( 1n || 2 ); // 1(1n 被認(rèn)為是 true) 
  2. alert( 0n || 2 ); // 2(0n 被認(rèn)為是 false) 

注:

這個(gè)方法建議在寫代碼時(shí)使用 JSBI 替代原生的 bigint。但是 JSBI 在內(nèi)部像使用 bigint 一樣使用 number,并最大程度按照規(guī)范進(jìn)行模擬,所以代碼已經(jīng)是準(zhǔn)備好轉(zhuǎn)換成 bigint 的了(bigint-ready)。

對(duì)于不支持 bigint 的引擎,可以“按原樣”使用此類 JSBI 代碼,對(duì)于那些支持 bigint 的引擎 — polyfill 會(huì)將調(diào)用轉(zhuǎn)換為原生的 bigint。

三、總結(jié)

本文基于JavaScript基礎(chǔ),介紹了 BigInt 函數(shù),常見的屬性,通過 BigInt 函數(shù)進(jìn)行數(shù)字運(yùn)算符的比較。布爾運(yùn)算等等,通過按案例的分析進(jìn)行詳細(xì)的講解。

歡迎大家積極嘗試,有時(shí)候看到別人實(shí)現(xiàn)起來(lái)很簡(jiǎn)單,但是到自己動(dòng)手實(shí)現(xiàn)的時(shí)候,總會(huì)有各種各樣的問題,切勿眼高手低,勤動(dòng)手,才可以理解的更加深刻。

代碼很簡(jiǎn)單,希望對(duì)你學(xué)習(xí)有幫助。

本文轉(zhuǎn)載自微信公眾號(hào)「前端進(jìn)階學(xué)習(xí)交流」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系前端進(jìn)階學(xué)習(xí)交流公眾號(hào)。

 

責(zé)任編輯:武曉燕 來(lái)源: 前端進(jìn)階學(xué)習(xí)交流
相關(guān)推薦

2021-08-31 10:01:04

JavaScript函數(shù)屬性

2021-07-16 07:57:35

JavaScriptEval函數(shù)

2024-09-03 13:32:11

JavaScriptEval函數(shù)

2024-07-11 14:05:28

JavaScript函數(shù)

2021-09-08 08:55:45

Javascript 高階函數(shù)前端

2022-08-24 14:14:58

JavaScript函數(shù)

2017-02-20 23:05:14

JavaScript

2021-10-09 07:10:31

JavaScript對(duì)象Python

2021-07-20 10:26:12

JavaScriptasyncawait

2024-08-13 15:23:37

2021-08-10 09:57:27

JavaScriptPromise 前端

2022-06-27 18:54:54

Python爬蟲加密算法

2021-05-08 09:49:07

JavaScript延遲加載

2021-06-15 10:01:27

JavaScript數(shù)組遍歷Entries

2021-09-03 10:00:00

JavaScript迭代對(duì)象

2021-09-14 07:26:25

JavaScript迭代對(duì)象

2025-03-26 10:56:54

2024-11-14 13:15:22

JavaScript可迭代數(shù)組

2022-01-15 10:01:15

Javascript 高階函數(shù)前端

2021-06-18 10:05:14

JavaScript數(shù)組遍歷
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 一二三四在线视频观看社区 | 黄色精品 | 99精品一区二区三区 | 在线免费观看欧美 | 国产亚洲精品综合一区 | 中文字幕福利视频 | 亚洲欧美网 | 黄色福利 | 爱爱视频在线观看 | 99免费视频 | 91精品久久久久久久久久入口 | 国产精品久久久久久久久免费高清 | 一级无毛片| 99久久婷婷国产综合精品电影 | 欧美理论片在线 | 国产精品久久久久久久7电影 | 欧美影院| 毛片久久久 | av电影一区二区 | 欧美日韩亚洲国产 | 夜夜艹天天干 | 久久精品国产亚洲 | 欧美精品一区在线发布 | 欧美视频二区 | 久久99精品久久久久久国产越南 | 亚洲国产精品一区二区久久 | 一级欧美一级日韩片免费观看 | 成人做爰69片免费观看 | 久久精品在线 | 国产一区二区在线播放视频 | 亚洲精品一区二区网址 | 激情五月婷婷综合 | 久久国产精品免费一区二区三区 | 精品少妇一区二区三区在线播放 | 欧美日韩国产一区二区三区 | 超碰国产在线 | 日本超碰 | av手机免费在线观看 | 国产一区二区在线播放 | 亚洲精品9999久久久久 | 久久久久久毛片免费观看 |