Any language feature with such a long definition is a bad language feature.
The less such features, the better the language.
Thus, javascript is not a "good" language for expressing your programs.
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Any language feature with such a long definition is a bad language feature.
The less such features, the better the language.
Thus, javascript is not a "good" language for expressing your programs.
let self = this;
Rust: do you mean Self or self?
this
is commonly used with a similar meaning to self
in cases where self
can't be used because it is a reserved keyword.
Example:
fn poll_next(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Option<St1::Item>> {
let this = self.project();
this.inner.poll_next(cx)
}
https://github.com/rust-lang/futures-rs/blob/master/futures-util/src/stream/select.rs#L113-L116
const that = this;
Go:
"We wanted it to work like Perl," said someone who should have been killed on the spot.
At the time JS was created, Perl didn't have a this
. A lot of the docs and books suggested using $self
but a reference to the object would be passed as the first parameter to all class methods and you assign that to any name you wanted.
It's only very recently (as in the last year or so) with a new class
system that Perl has hard-coded $self
for that purpose.
I mean $_
.
Ah. The usually implicit topical "this" didn't even occur to me because I thought, er, this, was about objects. $_
isn't used for those in Perl.
I suppose there might be some parallels with the implicit nature of $_
in non-OO contexts in Perl versus this
in OO contexts in Javascript, but, at least to me, that feels pretty tenuous.
I did not know that about event handlers, that is actually super convenient
Yeah, this is that.