Aloha ;)
ja, kann man so schreiben, denke ich.
Ich habe das mal so übernommen.
Ich habe mich nur ganz kurz in asm.js eingelesen. Mitgenommen habe ich, dass man dort ständig Konstrukte notiert, die die Operanden in den Number-Bereich zwingen, also sowas wie (+a) oder ((a+b)>>0). Die Der JIT kann daraus eine reine INT-Arithmetik ableiten und Code generieren, der vom Tempo her nativem Code nahekommt.
asm.js ist für mich ein gesiegeltes Buch mit undichtem Siegel. Immer mal wieder glaube ich etwas zu verstehen, und dann endet das ganze schließlich doch wieder in einem „wtf, warum eigentlich?“-Moment.
Wenn +a für BigInt ein BigInt und für Number ein Number liefert, ist das nicht alles. Was ist mit (+a) für a="789345897459837598375893748934578934893"? Zur Zeit ist das ein Number, 7.893E+39 (wenn ich jetzt richtig gezählt habe). Aber als BigInt wäre das doch viel schicker, oder? ODER? 💥
Schicker vielleicht, aber ob das so notwendig ist, dass man sich dann zwischen „wir machens nur schick“ oder „wir machens gar nicht“ entscheidet, das ist für mich schon komisch.
Zum unären - wollte ich was geschrieben haben, hab ich nicht?
Gesehen habe ich nix.
Codeminifizierer und Codegolfer verwenden das + gerne als toNumber-Operation. Das unäre - nicht, deswegen ist das scheinbar unkritisch. Oder die Existenz von unärem Minus ist so wichtig, dass man dafür den breaking change riskiert hat. Ach, ich weiß es doch auch nicht. Meine Kristallkugel ist bekanntlich aus Milchglas. Isnumalso 😟
😀 wer macht jetzt Theoriefindung? 😉 Offenbar bleibt bei uns beiden das Gefühl, dass die BigInt-Erfinder den Punkt mit dem unären + nicht so richtig durchdacht haben, oder zumindest (benefit of the doubt) diese Gedanken nicht sauber dokumentiert haben...
Grüße,
RIDER