Difference Between Class Properties And Function Prototype In Javascript
Solution 1:
Rectangle.UNIT
is a static class property. It can only ever be accessed on the Rectangle class object. It won't be accessible on any instances of Rectangle.
Rectangle.prototype.UNIT
is a prototype property and can be accessed on instances of Rectangle.
If you make a class Square
that inherits from Rectangle
, any instances of Square
will share the same prototype property, but not any static class properties.
You may find these articles helpful (though maybe a little obscure):
Solution 2:
Class-Based vs. Prototype-Based Languages @ Mozilla Developer Center. Neat!
Solution 3:
Rectangle.UNIT is like a class static member, whereas Rectangle.prototype.UNIT is a local member. Looks like you want Rectangle.UNIT in your case, because you only need one static instance of the object.
Post a Comment for "Difference Between Class Properties And Function Prototype In Javascript"