Da void(0)
zu undefined
aufgelöst wird, könnte die Frage genauso gut sein "warum ist es keine gute Idee, undefined
von einer Funktion zurückzugeben?". Die Verwendung von void(0)
als Alternative zu undefined
ist wahrscheinlich eine relativ schlechte Idee, weil sie komplexer ist als undefined
und weniger explizit. Unser Ziel als Programmierer ist es, einfachen, lesbaren Code für andere zu lesen und sinnvoll zu machen.
Es ist eine schlechte Idee, undefined
explizit aus einer Funktion aus dem gleichen Grund zurückzugeben, führt es unnötige Komplexität ein. typeof undefined
ergibt undefined
. Dies macht das Schreiben von Tests schwieriger und gibt Ihnen weniger Einblick in den Zweck einer Funktion, als beispielsweise das Zurückgeben von false
.
Ich könnte zu stark vereinfachend sein, aber 'void (0)' wird als 'undefiniert' ausgewertet. Eine Funktion, die ohne eine explizite return-Anweisung (oder einfach mit return; ') definiert wird, gibt implizit 'undefined' zurück, so dass die explizite Rückkehr redundant ist. Werfen Sie einen Blick auf http://stackoverflow.com/questions/20915450/why-javascript-functions-always-return-a-value. –
yeap, aber ich denke nicht, dass dies redundant ist, denn Debugging wäre, denkst du nicht? Funktionen geben immer etwas zurück, also würde das helfen, ich weiß nicht, vielleicht liege ich falsch. –
'function someFunc (a) {}' und 'function someFunc (a) {return; } 'und' function someFunc (a) {return void (0); } 'sind alle funktional gleichwertig. Ich denke, sobald Sie wissen, dass es so funktioniert, können Sie bequem bei der kürzesten Version bleiben, ohne explizite Rückmeldung. –