super
can/construct/supercan.Construct.super is a plugin that makes it easier to call base functions from inside inheriting functions.
construct._super([...args])
Calls the base constructor function's method.
Parameters
-
args
{[}
parameters to pass to the base function
With this plugin, functions that are inheriting from base functions are provided with a specialized
this._super
reference to the base function from which they inherit.This is especially useful for calling base classes'
init
andssetup
, but it can be used in any inheriting function.The
Person
andProgrammer
examples frominit
demonstrate_super
's use. Here's how those classes look without can.Construct.super:And here's how
Programmer
works using_super
:If you want to pass an array of arguments (or an arguments object) to
_super
, use apply:_super
on constructorscan.Construct.super also adds
super
to the constructor, so you can use it in static functions.Here is a base class that has a method that squares numbers and an inherited class that has a method that cubes numbers: