ES6 类
ZGuangJu 2/20/2019 前端基础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 继承自 A
class 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就不能成立)