TypeError: Class constructor MyClass cannot be invoked without 'new' – JavaScript TYPEERROR_CLASS_CONSTRUCTOR_NO_NEW

TYPEERROR_CLASS_CONSTRUCTOR_NO_NEW

Le classi definite con la sintassi ES6 'class Foo { ... }' richiedono obbligatoriamente l'operatore 'new Foo()'; chiamarle come una normale funzione ('Foo()') genera TypeError.

Cosa significa questo errore?

Le classi definite con la sintassi ES6 'class Foo { ... }' richiedono obbligatoriamente l'operatore 'new Foo()'; chiamarle come una normale funzione ('Foo()') genera TypeError.

Messaggio originale

TypeError: Class constructor MyClass cannot be invoked without 'new'

Contesto e parole chiave

Alias

  • Class constructor cannot be invoked without new JavaScript

Messaggi alternativi

  • costruttore classe ES6 invocato senza new

Prodotti

  • JavaScript Engine (V8, SpiderMonkey, JavaScriptCore) / Web API

Piattaforme

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

Parole chiave

  • ecmascript
  • errore-javascript-class-constructor-without-new
  • javascript
  • javascript.typeerror.function-constructor-called-without-new
  • js
  • TypeError e Riferimenti

Cause possibili

Causa tecnica per Errore JavaScript: Class constructor cannot be invoked without 'new' (Costruttore ES6 Senza new)

Le classi definite con la sintassi ES6 'class Foo { ... }' richiedono obbligatoriamente l'operatore 'new Foo()'; chiamarle come una normale funzione ('Foo()') genera TypeError.

molto comune

Diagnosi

Diagnostica in console browser per Errore JavaScript: Class constructor cannot be invoked without 'new' (Costruttore ES6 Senza new)

Aprire la Console degli Strumenti per Sviluppatori (F12) o verificare l'output di esecuzione Node.js per analizzare lo stack trace.

Come leggere il risultato. Indica il file sorgente esatto e la riga di codice in cui si è verificata l'eccezione o il type error.

terminal
node --trace-warnings app.js

Risoluzione

Risoluzione standard per Errore JavaScript: Class constructor cannot be invoked without 'new' (Costruttore ES6 Senza new)

Difficoltà: facileRischio: basso

Applicare la correzione al codice sorgente JavaScript conforme agli standard ECMAScript moderni.

  1. Ispezionare la riga evidenziata nella console degli errori
  2. Applicare optional chaining (?.) o gestione condizionale dei valori null/undefined
  3. Ricaricare la pagina o riavviare il processo per verificare la scomparsa dell'errore

Domande frequenti

Come risolvere l'errore Errore JavaScript: Class constructor cannot be invoked without 'new' (Costruttore ES6 Senza new) in JavaScript?

Le classi definite con la sintassi ES6 'class Foo { ... }' richiedono obbligatoriamente l'operatore 'new Foo()'; chiamarle come una normale funzione ('Foo()') genera TypeError.

Approfondimenti

Schede correlate