0.5.0 • Published 9 years ago
es6-classes v0.5.0
Classes
A library for ES6 Classes support in all browsers using Babel helpers.
Install
$ npm i es6-classes --save
$ bower i es6-classes --save
Sample
Simple definition
function User(firstName, lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
Classes.define(User, {
getFullName: function() {
return this.firstName + ' ' + this.lastName;
},
});
var user = new User('Alan', 'Turing');
console.log(user.getFullName()); // -> "Alan Turing"
Inheritance
function SuperUser(firstName, lastName, role) {
User.apply(this, arguments);
this.role = role;
}
Classes.inherit(SuperUser, User);
Classes.define(SuperUser, {
isAdmin: function() {
return this.role === 'admin';
},
}, {
getFullName: function() {
var superRes = Classes.super(this, User, 'constructor', arguments);
return '> ' + superRes;
}
});
var user2 = new SuperUser('Alan', 'Turing', 'admin');
console.log(user2.getFullName(), user2.isAdmin()); // -> "> Alan Turing" true