ES6--物件導向

來源:互聯網
上載者:User

標籤:use   執行個體   level   方法   產生   es5   console   prot   OLE   

ES5通過建構函式產生執行個體對象

function User(name, pass) {    this.name = name    this.pass = pass}User.prototype.log = function () {    console.log(‘name = ‘ + this.name + ‘, pass = ‘ + this.pass)}var user1 = new User(‘xiaoming‘, ‘12356‘)user1.log()//name = xiaoming, pass = 12356

ES6引入class(類)概念與constructor構造方法。定義“類”的方法時,前面不需要加 function 關鍵字。方法之間不需要逗號分隔,加了會報錯。

class User {    constructor(name, pass) {        this.name = name        this.pass = pass    }    log() {        console.log(`name = ${this.name} , pass = ${this.pass}`)    }}let user1 = new User(‘xiaoming‘, ‘12356‘)user1.log()//name = xiaoming , pass = 12356
繼承

ES5繼承

function VipUser(name, pass, level) {    User.call(this, name, pass)    this.level = level}VipUser.prototype = new User();VipUser.prototype.constructor = VipUserVipUser.prototype.logLevel = function () {    console.log(‘level = ‘ + this.level)}var v1 = new VipUser(‘xiaoming‘, ‘123456‘, ‘5‘)v1.log()v1.logLevel()

ES6繼承(extends和super)

class VipUser extends User {    constructor(name, pass, level) {        super(name, pass)        this.level = level    }    logLevel() {        console.log(`level = ${this.level}`)    }}let v1 = new VipUser(‘xiaoming‘, ‘1234‘, ‘5‘)

 

ES6--物件導向

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.