JavaScript: TypeError — Cannot mix BigInt and other types
JavaScript vieta le operazioni aritmetiche implicite tra numeri ordinari floating-point IEEE-754 (`Number`) e interi a 64+ bit `BigInt` (es. `10n + 5` fallisce; richiede `10n + BigInt(5)`).
Categoria
Articoli tecnici organizzati per gruppo funzionale.
JavaScript vieta le operazioni aritmetiche implicite tra numeri ordinari floating-point IEEE-754 (`Number`) e interi a 64+ bit `BigInt` (es. `10n + 5` fallisce; richiede `10n + BigInt(5)`).
Si tenta di accedere a un campo o metodo privato ES2022 (`#privateField`) su un oggetto che non è un'istanza diretta della classe che ha dichiarato il campo privato.
L'istruzione `Object.defineProperty()` fallisce quando tenta di alterare gli attributi di una proprietà precedentemente impostata come non configurabile (`configurable: false`).
La clausola `class Child extends Parent` fallisce perché l'espressione valutata dopo `extends` non è una funzione costruttrice o `null` (spesso dovuto a import ciclici non risolti o export errato).
Il formato standard JSON non prevede il tipo a precisione arbitraria BigInt; passare un oggetto contenente proprietà `100n` a `JSON.stringify()` lancia un'eccezione a meno di definire `BigInt.prototype.toJSON`.
Il metodo `apply()`, `call()` o `bind()` è stato invocato su una proprietà che non è una funzione valida (es. valore `undefined` o oggetto ordinario).
Le chiavi di una `WeakMap` o gli elementi di un `WeakSet` devono essere rigorosamente riferimenti a oggetti o simboli non registrati, per consentire al Garbage Collector di deallocarli.
Un metodo nativo (come `Set.prototype.has`, `Map.prototype.get` o `Date.prototype.getTime`) è stato estratto e invocato con un `this` non corrispondente al tipo interno dell'oggetto nativo.