罪过罪过,居然水了四篇。
class
大概是他们看不下去了,所以在ES6里面提供了一个语法糖——class。
这样写起来就像 oop的写法了。
虽然写起来像,但是实际上还是 function。
我们写一个“长链接”的类。
class person {
constructor(name) {
this.name = name
}
say() {
alert('我来了')
}
}
- constructor
构造方法,创建一个实例。这个在Object的原型里面也有,只不过是一个空的函数。
继承
class man extends person {
constructor(name, age) {
super(name)
this.age = age
}
}
const newMan = new man('jyk', 18)
console.log(newMan)
这样我们就得到了一个比较长的原型链。
最基础的是Object,然后是我们定义的Person,然后是Man,最上面是实例。
尽量用组合,避免使用继承,因为容易乱。
另外试了一下继承 man,报错了。似乎不能这么无限继承下去。