7 ms·
Please elaborate about toString() ?
by sethx 6y ago
Please elaborate about toString() ?
- byroot 6y agoIf called on a Function it returns the source of the function, which allows for all sorts of meta programming.
- hajile 6y agoIf memory serves, a real world example was Angular doing a toString then injecting dependencies before calling eval on the new code. To be honest, I don’t know that there’s ever a good reason to use it in production as it almost always involves performance and security problems.
- davidmurdoch 6y ago> involves performance [...] problems Except when it solves them! https://mrale.ph/blog/2018/02/03/maybe-you-dont-need-rust-to-speed-up-your-js.html#optimizing-sorting---monomorphisation https://mrale.ph/blog/2018/02/03/maybe-you-dont-need-rust-to...
- postalrat 6y agoI once used it for a proof of concept for computer worm type message on a sort of message board. Used to re-generate the source code to be added to new messages.
- junon 6y agoYep. We used to use this for some hacks back before AST libraries were a thing, mainly because Function.prototype.toString() preserves comments. function foo() { /* a comment! / } console.log(foo.toString()); //-> "function foo() { / a comment! */ }"
- jffry 6y agoThe toString() method returns a string representing the source code of the function. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/toString https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...
- Dragonai 6y agoThat's pretty neat. Thanks for the link.