根据我的理解,类是具有以下语法的蓝图:
class User {
constructor(name) {
this.name = name;
}
sayHi() {
alert(this.name);
}
}
let user = new User("John");
user.sayHi(); //John
用户现在具有User类的属性,但函数构造函数也是这样做的:
function User(name) {
this.name = name;
this.isAdmin = false;
}
let user = new User("Jack");
alert(user.name); // Jack
alert(user.isAdmin); // false
我知道类有静态,超级,扩展等等。它们有什么不同?(除静态等之外)
答案 0 :(得分:3)
类和函数构造函数如何彼此不同
他们不是。
ECMAScript 2015中引入的JavaScript类主要是 JavaScript现有的基于原型的语法糖 遗产。类语法不会引入新的面向对象 继承模型到JavaScript。 JavaScript类提供"语法 糖"创建对象并处理继承。