Warum schweigt Chrome immer noch, wenn Funktionen in Blöcken im „strengen Modus“ verwendet werden? [Duplikat

Diese Frage hat hier bereits eine Antwort:

Verbietet der strikte Modus Funktionsdeklarationen auf Anweisungsebene? 1 Antwort

Ich bin ziemlich neu bei JS"strict mode";, wenn ich Code benutze wie:

function outer(){

"use strict";
    var ctype;

    function inner(){

        if(ctype!=undefined){
            function hello1(){
                console.log("hello1");
            }
            hello1()
        }else {
            function hello2(){
                console.log("hello2");
            }
            hello2();
        }

    }

    return inner;

}

var inner = outer();

inner();

Ich frage mich, warum Chrome (ver 49) keinen Fehler gibt, aber Node.js kann "SyntaxError: Im strengen Moduscode können Funktionen nur auf oberster Ebene oder unmittelbar in einer anderen Funktion deklariert werden."

Dieser Tisc weist darauf hin, dass mein Chrome einen Fehler melden sollte.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage