5 ms·
> In my opinion, js functions should always return a value (even if it's just 'this'). Yeah, well, you know, that's just, like, your opinion, man. It's perfec
by lmkg 15y ago
> In my opinion, js functions should always return a value (even if it's just 'this').
Yeah, well, you know, that's just, like, your opinion, man.
It's perfectly valid for JavaScript functions to not return something. Your opinion about always returning something (which I agree with, btw) is only a personal stylistic preference, and from the code I've seen in the wild, it's not really that widespread.
As fooyc points out, the behavior of onClick events in the DOM changes depending on what return value is received. As I understand it, when an onClick executes a script, the truthiness of the value it returns determines whether the event continues to bubble up the DOM after the onClick has executed. At a guess, 75% of the onClick handler functions I've seen in the wild do not return a value; whether they realize it or not, all of those handlers implicitly rely on the appropriate truthiness of not returning a value for the rest of the page to behave correctly. Suddenly giving those functions a return value, especially one the developer didn't intentionally choose and didn't expect to have any effect, could cause quite a bit of unexpected behavior.
This also seems like an easy issue to address. No return statement in the JavaScript? Add an empty return in the CoffeeScript.