Comment by TheSilva
3 days ago
Object.prototype.message='alert\x281337\x29';Array.prototype.toString=Error.prototype.toString;Error.prepareStackTrace = Function;const x = new Error;x.valueOf=x.stack;+x;
Well, that's a mouthful! So many years and JavaScript still can do the most amazing, weird, awesome, scary, obscure, and sexy things in the world of coding.
The prototype thing is quite unique among mainstream languages. It is kind of simple in principle and works well for what it intends to do, but god it causes so much confusion and is frequently a source of CVEs. valueOf combined with implicit conversion is a nightmare for production code.
Yesterday I was re-using some shaders I had written a long time ago, and here's what I used to do multiline strings before the glorious backtick arrived on the scene...
... I can't call it sexy, but I also can't deny I felt a mixture of fear and arousal when I saw that.
TIL about [^], never seen that before. Apparently, it works like a dot but it also matches newlines.
I believe this is the regular syntax for a set of characters (between "[" and "]"), but the caret symbol ("^") is negation when used inside the set. Therefore, it is simply the negation of an empty set of characters.
Oh, me too. I’ve previously used [\s\S] for that.
Pretty interesting that you can carry comments over.
I wonder if anything cool can be done with it today. It's probably useless.