为什么需要class
在其他语言中class已经是一个早就被实现的功能,在JavaScript中一直到ES6被实现。在class没有实现之前我们是这样写的(如下代码)
function Person(name,sex){this.name = ''this.sex='
}
Person.prototype.say=function(){alert('hello')
}
有了class我们就这么写的,是不是看起来更简洁。甚至对于初学者来说都不需要了解什么是prototype
class Person {constructor (name,sex) {this.name = name;this.sex = sex;}say() {alert('hello')}
}
个人认为的是:在没有class这个声明之前,可以使用es5来模拟。但是在一定程度上并不是规范。如果新手或者通过其他语言学习者看到这个prototype什么的就比较懵。有了这个class关键字让js做面向对象的设计更完善了
class是什么
定义:类关键字Class 和 constructor 构造函数
类是用于创建对象的模板。 用 class 关键字来创建一个类,类体在一对大括号 {} 中,我们可以在大括号 {} 中定义类成员的位置,如方法或构造函数。 每个类中包含了一个特殊的方法 constructor(),它是类的构造函数,这种方法用于创建和初始化一个由 class 创建的对象。
class ClassName {constructor() { ... }
}
//定义好类后,我们就可以使用 new 关键字来创建对象:
let site = new ClassName();
创建对象时会自动调用构造函数方法 constructor()。还可以这样创建对象
// 未命名/匿名类
let Runoob = class {constructor(name, url) {this.name = name;this.url = url;}
};
console.log(Runoob.name);
// output: "Runoob"
// 命名类
let Runoob &