一、class的基本语法
格式:
class 名称{
constructor(){
}
方法名称1(){
}
方法名称2(){
}
}
new 名称()
es6之前的面向对象
{
function Fn(){
this.name = "张三";
}
Fn.prototype.run = function(){
console.info("run");//run
}
var fn = new Fn();
console.info(fn.name);//张三
fn.run();
}
es6的面向对象
{
class Fn{
constructor(name){
this.name = name;
}
run(){
console.info(`我的名字是${this.name}`);//我的名字是李四
}
}
let fn = new Fn("李四");
console.info(fn.name);//李四
fn.run()
}
二、class实现继承
格式:
class 子类 extends 父类{
constructor(){
super() //放在函数体第一行
}
}
{
class Parent{
constructor(){
this.name = '张三';
}
}
class Child extends Parent{
constructor(){
super();
this.age = 23
}
}
let child = new Child();
let parent = new Parent();
console.info(child.age);//23
console.info(parent.name);//张三
console.info(child.name);//张三
}