ES6面向对象

对象

ES5时代,定义一个对象,通常是 key : value 形式,如下

var person={
    name:"Tony",
    age:18,
    showName:function(){
        alert(this.name);
    },
    showAge:function(){
        alert(this.age);
    }
}
person.showName();

ES6中,改变如下

var name="Tony";
var age=18;
var person={
    name,
    age,
    showName(){
        return(this.name);
    },
    showAge(){
        return(this.age);
    }
};
alert(person.showName());

面向对象

ES5面向对象,但不是真正的面向对象,它没有类,也没有构造函数。

function Person(name,age){      //类、构造函数
    this.name=name;
    this.age=age;
}
Person.prototype.showName=function(){
    return this.name;
}
Person.prototype.showAge=function(){
    return this.age;
}
var student = new Person("Tony",12);
var worker = new Person("Tom",22);
alert(student.showName());

ES6为了弥补这样的缺憾,新增类class,构造函数constructor,所谓构造函数就是生成完实例后,自己就执行。

class Person{                   //类
    constructor(name,age){      
        this.name=name;         //属性
        this.age=age;
    }
    showName(){
        return(this.name);
    }
    showAge(){
        return(this.age);
    }
}

var worker = new Person("Tom",28);
alert(worker.name);

猜你喜欢

转载自blog.csdn.net/bertZuo/article/details/86488226
今日推荐