TypeError: Cannot convert object to primitive value. – JavaScript TYPEERROR_OBJECT_TO_PRIMITIVE

TYPEERROR_OBJECT_TO_PRIMITIVE

Il runtime tenta di convertire un oggetto in una stringa o numero (es. concatenazione o operazione matematica) ma l'oggetto ha metodi `valueOf` e `toString` sovrascritti che non restituiscono primitivi o `[Symbol.toPrimitive]` errato.

Cosa significa questo errore?

Il runtime tenta di convertire un oggetto in una stringa o numero (es. concatenazione o operazione matematica) ma l'oggetto ha metodi `valueOf` e `toString` sovrascritti che non restituiscono primitivi o `[Symbol.toPrimitive]` errato.

Messaggio originale

TypeError: Cannot convert object to primitive value.

Contesto e parole chiave

Alias

  • Cannot convert object to primitive value
  • object to primitive TypeError

Messaggi alternativi

  • impossibile convertire l'oggetto in un valore primitivo

Prodotti

  • Motore JavaScript ECMAScript (V8, SpiderMonkey, JavaScriptCore) / DOM Web APIs

Piattaforme

  • Browser Web
  • Bun
  • Deno
  • Multipiattaforma
  • Node.js

Parole chiave

  • ecmascript
  • errore-javascript-cannot-convert-object-to-primitive-value
  • javascript
  • javascript.typeerror.cannot-convert-object-to-primitive
  • js
  • TypeError e Assegnazioni
  • TYPEERROR_OBJECT_TO_PRIMITIVE

Cause possibili

Origine del problema per JavaScript: TypeError — Cannot convert object to primitive value

Il runtime tenta di convertire un oggetto in una stringa o numero (es. concatenazione o operazione matematica) ma l'oggetto ha metodi `valueOf` e `toString` sovrascritti che non restituiscono primitivi o `[Symbol.toPrimitive]` errato.

molto comune

Diagnosi

Ispezione diagnostica JavaScript per JavaScript: TypeError — Cannot convert object to primitive value

Aprire la Console dei Developer Tools del browser (F12) o consultare lo stack trace a terminale.

Come leggere il risultato. Evidenzia la linea esatta di codice sorgente, l'oggetto target e il tipo di eccezione ECMAScript scatenata.

Risoluzione

Procedura di risoluzione per JavaScript: TypeError — Cannot convert object to primitive value

Difficoltà: facileRischio: basso

Applicare la correzione al codice secondo gli standard ECMAScript e le specifiche W3C/WHATWG.

  1. Verificare la compatibilità del tipo di dato o la presenza dell'elemento DOM
  2. Aggiungere i controlli di validazione o gestione degli errori con try/catch
  3. Ricaricare l'applicazione o rieseguire il test unitario

Domande frequenti

Come risolvere l'errore TYPEERROR_OBJECT_TO_PRIMITIVE in JavaScript?

Il runtime tenta di convertire un oggetto in una stringa o numero (es. concatenazione o operazione matematica) ma l'oggetto ha metodi `valueOf` e `toString` sovrascritti che non restituiscono primitivi o `[Symbol.toPrimitive]` errato.

Approfondimenti

Schede correlate