… what
… what
Looks more or less like you’d expect him to, heh
More of a tragicomedy, really
Where’s your sense of adventure?!
Calling reverse()
on a function should return its inverse
You’re no fun
"E".reverse() == "∃"
I dint know many OO languages that don’t have a useless toString on string types.
Well, that’s just going to be one of those “it is what it is” things in an OO language if your base class has a toString()
-equivalent. Sure, it’s probably useless for a string, but if everything’s an object and inherits from some top-level Object
class with a toString()
method, then you’re going to get a toString()
method in strings too. You’re going to get a toString()
in everything; in JS even functions have a toString()
(the output of which depends on the implementation):
In a dynamically typed language, if you know that everything can be turned into a string with toString()
(or the like), then you can just call that method on any value you have and not have to worry about whether it’ll hurl at runtime because eg. String
s don’t have a toString
because it’d technically be useless.
Everything that’s an Object
is going to either inherit Object.prototype.toString()
(mdn) or provide its own implementation. Like I said in another comment, even functions have a toString()
because they’re also objects.
A String
is an Object
, so it’s going to have a toString()
method. It doesn’t inherit Object
’s implementation, but provides one that’s sort of a no-op / identity function but not quite.
So, the thing is that when you say const someString = "test string"
, you’re not actually creating a new String
object instance and assigning it to someString
, you’re creating a string
(lowercase s
!) primitive and assigning it to someString
:
Compare this with creating a new String("bla")
:
In Javascript, primitives don’t actually have any properties or methods, so when you call someString.toString()
(or call any other method or access any property on someString
), what happens is that someString
is coerced into a String
instance, and then toString()
is called on that. Essentially it’s like going new String(someString).toString()
.
Now, what String.prototype.toString()
(mdn) does is it returns the underlying string
primitive and not the String
instance itself:
Why? Fuckin beats me, I honestly can’t remember what the point of returning the primitive instead of the String
instance is because I haven’t been elbow-deep in Javascript in years, but regardless this is what String
’s toString()
does. Probably has something to do with coercion logic.
Glass Moscow when
Yeah you can bet on the “tHiS iS HeLiCoPtEr AbUsE” morons arriving sooner or later
Ah so they’re kind of like kitties, then? Do you get bunny kicks if you touch the belly?
Absolutely, I’m going to throw myself on my sword any moment now.
I love it when people get big mad about IMPROPER USE OF MEMES, it’s almost as funny as people taking NCD seriously. Honestly I should make a few that are wrong on purpose just for the tears.
Why did you assume I’m the one who made the meme?
Ma’am this is a Wendy’s
Yes, blame the victims, that always works well.
Microtransactions exploit the fact that some people have addictive tendencies. You won’t “fix” that by making fun of those people.
w-what are you doing, step gun?
Urr, I don’t think that’s it. I’m not sure stereo sound for vinyls has ever worked so that something like this would be necessary, and it wouldn’t really make sense – why would they have to put vocals on one channel and instruments on the other?
A stereo vinyl player just has the needle moving up and down in addition to left and right, so that the left-right axis is the sum of the waveforms of both channels and the up-down axis is the difference – which means that a regular mono player can play stereo vinyls