zoukankan      html  css  js  c++  java
  • [Javascript] Replicate JavaScript Constructor Inheritance with Simple Objects (OLOO)

    Do you get lost when working with functions and the new keyword? Prototypal inheritance can be completely replicated without either of those two concepts. In this lesson we will convert an object created from the new keyword against a function, to simply objects linked to other objects.

    Sometime If you find yourself doing `new` too much, for example:

    function House(color){
        this.color = color
    }
    
    const myHouse = new House('white')
    
    console.log(myHouse.color)  // white

    It is possible just using Object, instead of constructort:

    const house = {
     set houseColor(color){
         this.color = color
     }
    }
    
    const myHouse = Object.create(house)
    
    console.log(myHouse)  // {color: 'white'}

    Our end result is the same. We didn't have worry about creating a function and calling it with the new keyword. This pattern is called OLOO, or objects linking to other objects.

    Since prototypes are simply objects, objects can be created in a manner so that they're easily delegated as prototypes of other objects. Object.create gives us the ability to easily create new objects that have specifically delegated prototype objects.

  • 相关阅读:
    C++指针
    Linux Ubuntu常用终端命令
    java-JDBC-Oracle数据库连接
    HDU 1890 区间反转
    Hdu-3487 Splay树,删除,添加,Lazy延迟标记操作
    UVa 10088
    UVa10025-The ? 1 ? 2 ? ... ? n = k problem
    UVa10023手动开大数平方算法
    UVa 10007
    点的双联通+二分图的判定(poj2942)
  • 原文地址:https://www.cnblogs.com/Answer1215/p/9830543.html
Copyright © 2011-2022 走看看