ES6-- object-oriented - basis

Object-oriented original wording
  • And as class constructors

  • Properties and Methods separate written

    // 老版本
    function User(name, pass) {
        this.name = name
        this.pass = pass
    }
    
    User.prototype.showName = function () {
        console.log(this.name)
    }
    User.prototype.showPass = function () {
        console.log(this.pass)
    }
    
    var u1 = new User('able', '1233')
    u1.showName ()
    u1.showPass()
    // older versions inherit 
    function VipUser (name, Pass, Level) {
        User.call(this, name, pass)
        this.level = level
    }
    VipUser.prototype = new User()
    VipUser.prototype.constructor = VipUser
    VipUser.prototype.showLevel = function () {
        console.log(this.level)
    }
    
    was v1 = new VipUser ( 'blue', '1234', 3 )
    v1.showName ()
    v1.showLevel()

The new object-oriented

  • With the class keyword, constructor

  • class method which directly added

  • Inheritance, super super class == parent

    class User {
        constructor(name, pass) {
            this.name = name
            this.pass = pass
        }
    
        showName () {
            console.log(this.name)
        }
        showPass() {
            console.log(this.pass)
        }
    }
    
    var u1 = new User('able2', '111')
    u1showName (),; // able2
    u1.showPass(); // 111

    // 新版本继承
    class VipUser extends User {
    constructor(name, pass, level) {
    super(name, pass)
    this.level = level
    }
    showLevel(){
    console.log(
    this.level)
    }
    }
    v1
    = new VipUser('blue', '123', 3)
    v1.showLevel();
    // 3

Guess you like

Origin www.cnblogs.com/sylys/p/11641943.html