JavaScript类:(一)定义

一、构造函数定义类

在ES6以前,是通过定义构造函数来定义一个类;

const Person = function (name, age) {
    this.name = name;
    this.age = age;
}

Person.prototype = {
    getUserName: function() {
        return this.name;
    }
}
// 创建实例对象
let person1 = new Person('zhangsan', 16)

二、class关键字定义类

class Person {
    // 构造方法
    constructor(name, age) {
        // 属性
        this.name = name;
        this.age = age;
    }
    // 实例方法
    getUserName() {
        return this.name;
    }
}
let person1 = new Person('zhangsan', 16)

三、class的内涵

let person1 = new Person('zhangsan', 16)
console.log(person1);
结果

从上述结果看出,class定义的类与构造函数定义的类没有区别;
只是class类中定义的方法,会加入到该类的原型(prototype)中;

class可以看作只是一个语法糖,它的绝大部分功能,ES5 都可以做到,新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已;

你可能感兴趣的:(JavaScript类:(一)定义)