对比
原生模拟
//定义
function User(){
this.username = 'lake';
this.age = 24;
}
//增加方法
User.prototype.login = function(){
//exec login service
}
//创建对象
let userObj = new User();
//执行方法
userObj.login();
class 使用
//定义
class User{
constructor(age){
this.username = 'lake';
this.age = age;
}
login(username='lake',password){
//exec login service
}
}
//创建对象
let userObj = new User(24);
//调用方法
userObj(undefined,'lake');
继承
class Person{
}
class User extends Person{
// constructor(age){
// ...
}
静态方法
class User extends Person{
static hi(){
return 'hello';
}
// constructor(age){
// ...
}
//调用
console.log(User.hi());
//输出
> hello
静态方法(标识)
class User extends Person{
static get hi(){
return 'hello';
}
// constructor(age){
// ...
}
//调用(不用写括号)
console.log(User.hi);
//输出
> hello