Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

101
Views
Terser setting to minify/hoist the this variable and properties

Is there any way for terser to minify/hoist the this variable so it does not appear repeated as often in the bundle?

Example code:

class MyClass {
    constructor(handler) {
        this.handler = handler;

        this.handler.on('method1', this.method1.bind(this));
        this.handler.on('method2', this.method2.bind(this));
        this.handler.on('method3', this.method3.bind(this));
        this.handler.on('method4', this.method4.bind(this));
        this.handler.on('method5', this.method5.bind(this));
        this.handler.on('method6', this.method6.bind(this));
        this.handler.on('method7', this.method7.bind(this));
        this.handler.on('method8', this.method8.bind(this));
        this.handler.on('method9', this.method9.bind(this));
        this.handler.on('method10', this.method10.bind(this));
    }

    method1() {}
    method2() {}
    method3() {}
    method4() {}
    method5() {}
    method6() {}
    method7() {}
    method8() {}
    method9() {}
    method10() {}
}

new MyClass();

Ideally, I would love terser to be smart to detect repeated usages of this and hoist the reference. Something like this:

const a = this;
a.handler.on('method1', a.method1.bind(a));
// ...

What about the handler property? Perhaps it can be also smart and compress further to:

const a = this;
const h = a.handler; // (actually, `handler` because it's argument var)
h.on('method1', a.method1.bind(a));
// ...
about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!