對比
原生模擬
//定義
function User(){
this.username = 'lake';
this.age = 24;
}
//增加方法
User.prototype.login = function(){
//exec login service
}
//創(chuàng)建對象
let userObj = new User();
//執(zhí)行方法
userObj.login();
class 使用
//定義
class User{
constructor(age){
this.username = 'lake';
this.age = age;
}
login(username='lake',password){
//exec login service
}
}
//創(chuàng)建對象
let userObj = new User(24);
//調(diào)用方法
userObj(undefined,'lake');
繼承
class Person{
}
class User extends Person{
// constructor(age){
// ...
}
靜態(tài)方法
class User extends Person{
static hi(){
return 'hello';
}
// constructor(age){
// ...
}
//調(diào)用
console.log(User.hi());
//輸出
> hello
靜態(tài)方法(標(biāo)識)
class User extends Person{
static get hi(){
return 'hello';
}
// constructor(age){
// ...
}
//調(diào)用(不用寫括號)
console.log(User.hi);
//輸出
> hello