目前,使用AssemblyScript的人应该还不是很多,GitHub上也没找到多少相关的库。由于其语法是TypeScript的子集,且有很多语法特性尚未支持,有网友就吐槽一切都得回归原始,没有现成的轮子,这反过来也限制了AS的推广。
因为使用AS多是要用于计算密集的场景,例如加解密。而计算中经常要用到大整数,在JS中,我看到常用的是jsbn(JS Big Number)库,于是前两天打算照着这个jsbn自己做AS版bn。
突然有一天我在外语网站(一般用Bing的国际版可以搜索到,疫情期间不翻墙)看到有介绍AS版的Big Integer实现,具体网站我忘了,其库名是as-bigint,真是众里寻他千必应,得来全不费功夫。
使用起来跟jsbn差不大多。
install:
npm i as-bigint --save
import:
import {BigInt} from 'as-bigint'
//或者,为了跟jsbn保持一致,可以:
import { BigInt as BigInteger } from 'as-bigint'
常用方法可以看README.md
有空可以看看人家怎么封装的AS库,可以去翻写一些常用的JS库,让AS更方便地开发,编成更快的WASM, 提升执行效率