Robert B.: node: eigenartiger Fehler

Beitrag lesen

Moin Rolf,

Schlimmer noch - das function-Statement erzeugt keinen const-Wert, sondern eher einen var- oder let-Wert:

function foo() { alert("Foo1!"); }
foo = function() { alert("Uups!"); };
function foo() { alert("Foo2!"); }
foo();

gibt Uups! aus. Die beiden function-Statements werden nach oben gehoben (hoisting), d.h. die Zuweisung an foo erfolgt de facto hinter den beiden function statements.

Die Firefox-JavaScript-Konsole sagt, dass eine var erzeugt wird:

function foo1() { alert("foo1");}
const foo1 = function() { alert("const");};
// Uncaught SyntaxError: redeclaration of var foo1

Die Funktionsreferenz als const zu deklarieren, schlägt auch in der umgekehrten Reihenfolge korrekt fehlt:

const foo = function() { alert('Const');};
function foo() { alert("foo1");}
// Uncaught SyntaxError: redeclaration of const foo

Viele Grüße
Robert