let self = this;
Rust: do you mean Self or self?
this
is commonly used with a similar meaning toself
in cases whereself
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
I did not know that about event handlers, that is actually super convenient
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 versusthis
in OO contexts in Javascript, but, at least to me, that feels pretty tenuous.
Yeah, this is that.