ES6 类
#
类class
是什么 类相当于是模具- 模式
没有
class
的时候,程序员使用对象封装类, 工厂函数(new
之后的),叫构造函数
- 类的声明方式
class My { // 构造函数 constructor constructor() { // 当一个类被实例化的时候,第一个被执行的就是constructor this.name = "zhang" } // 不在构造函数里的属性就不要加this age = 15}
const name = new My()console.log(name);
- 工厂模式
var func = function () { var obj = { name="zhang" } return obj}
数组,函数,对象的原型都是对象,so 三者可以相互继承,当实例化一个函数得到实例化对象的时候,那么改函数的原型对象上的所有属性和方法都会继承给实例化对象
this
- 函数找归属(谁调用)
- 箭头函数找空间
继承 一个
class
拥有了另外一个class
的所有内容后端对类的定义 只能子类访问父类的属性和方法,而父类不可以向下访问子类,前端的
class
是伪类,还是基于原型对象封装的,前端的class
,子类可以继承父类的属性,父类下的两个子类也可以相互继承。
// 父类class A { constructor() { this.name = '我是A'
} getName() { return this.name + this.age }}// B 继承自 Aclass B extends A { name = '我是B' age = 15 getName() { return this }}const myA = new A()const myB = new B()console.log(myB.getName());console.log(myA.getName()); //可以使用class A的this.age (只不过是A里没有,所以说undefined 正常讲 A里的getName就不能成立)