Clases
- Basic support
- keywords
class
yextends
keywords constructor
definitionstatic
method definitions
antes (ES5)
var Shape = function( id, x, y ) {
this.id = id;
this.x = x;
this.y = y;
};
Shape.prototype.toString = function( x, y ) {
return "Shape(" + this.id + ")"
};
var Rectangle = function( id, x, y, width, height ) {
Shape.call( this, id, x, y );
};
Rectangle.prototype = Object.create(Shape.prototype);
Rectangle.prototype.constructor = Rectangle;
Rectangle.prototype.toString = function() {
return "Rectangle > " + Shape.prototype.toString.call( this );
};
después (ES2015)
class Shape {
constructor (id, x, y) {
this.id = id;
this.x = x;
this.y = y;
// or Object.assign(this, {id, x, y});
}
toString () {
return `Shape(${this.id})`
}
}
class Rectangle extends Shape {
constructor (id, x, y, width, height) {
super(id, x, y)
}
toString () {
return "Rectangle > " + super.toString()
}
}
⛏ ES6 Katas: Clases
Hacer las siguientes katas: