class
它在本质上是没有区别的只是代码更简洁
总体分为两个部分:
- 构造函数部分
- 原型对象部分
es5写法:
function Table(){
this.a = 20
}
Table.prototype.sayHello = function(){
console.log('hello world')
}
es6改写
//class类的定义是没有括号的,也就意味着没有参数
//class Table 不等于 构造函数 Table
class Table{
//关键字constructor:构造器
//constructor 替换的就是构造函数
//class Table 里的constructor就等于Table构造函数
constructor{
this.a = 20
}
//原型方法直接以名称的形式定义在类中
//除了constructor以外所有的单词都相当于
//Table.prototype.单词 = function(){}
sayhello = function(){
console.log('hello world')
}
}
// 在使用的时候, class 声明的类和 普通构造函数没有任何区别;
var tab = new Table()
console.log(tab)
注意
类是不可以重复定义的
类也不会被提升,也就意味着必须在访问前对类进行定义 否则会报错
类中的方法不用添加function关键字,方法间不用加逗号