Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Automatically run some code when subclass is declared [duplicate]

Tags:

javascript

It should be something like:

class C {
    static m() { console.log('hi') }
}

// automatically run C.m
class D extends C { }

A python case is found. Is this possible in JavaScript?

like image 818
kakakali Avatar asked Dec 06 '25 07:12

kakakali


1 Answers

Javascript doesn't have a metaclass per se, but you can create a pseudo metaclass by defining a class within a function:

function C() {
    class Cls {
      static m() { console.log('hi') }
    }
    Cls.m()
    return Cls
}

class D extends C() {} // prints 'hi'
like image 191
Lord Elrond Avatar answered Dec 08 '25 20:12

Lord Elrond



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!