Home

function: create


create(prototype: Object, properties: Object): Object

Creates an object that inherits from the `prototype` object. If a `properties` object is given, its own enumerable string keyed properties are assigned to the created object.

Example(s):

function Shape() {
  this.x = 0
  this.y = 0
}

function Circle() {
  Shape.call(this)
}

Circle.prototype = create(Shape.prototype, {
  'constructor': Circle
})

const circle = new Circle
circle instanceof Circle
// => true

circle instanceof Shape
// => true

Params:

Name Type Attribute Description
prototype The object to inherit from.
properties The properties to assign to the object.

Returns:

Object

  {
    "comment": "/**\r\n * Creates an object that inherits from the `prototype` object. If a\r\n * `properties` object is given, its own enumerable string keyed properties\r\n * are assigned to the created object.\r\n *\r\n * @since 2.3.0\r\n * @category Object\r\n * @param {Object} prototype The object to inherit from.\r\n * @param {Object} [properties] The properties to assign to the object.\r\n * @returns {Object} Returns the new object.\r\n * @example\r\n *\r\n * function Shape() {\r\n *   this.x = 0\r\n *   this.y = 0\r\n * }\r\n *\r\n * function Circle() {\r\n *   Shape.call(this)\r\n * }\r\n *\r\n * Circle.prototype = create(Shape.prototype, {\r\n *   'constructor': Circle\r\n * })\r\n *\r\n * const circle = new Circle\r\n * circle instanceof Circle\r\n * // => true\r\n *\r\n * circle instanceof Shape\r\n * // => true\r\n */",
    "meta": {
        "range": [
            766,
            987
        ],
        "filename": "create.js",
        "lineno": 33,
        "path": "C:\\Users\\beaujeup\\projects\\jsdoc-template\\examples\\lodash\\lodash-repo",
        "code": {
            "id": "astnode100000952",
            "name": "create",
            "type": "FunctionDeclaration",
            "paramnames": [
                "prototype",
                "properties"
            ]
        },
        "vars": {
            "prototype": "create~prototype",
            "result": "create~result"
        }
    },
    "description": "Creates an object that inherits from the `prototype` object. If a\r`properties` object is given, its own enumerable string keyed properties\rare assigned to the created object.",
    "since": "2.3.0",
    "tags": [
        {
            "originalTitle": "category",
            "title": "category",
            "text": "Object",
            "value": "Object"
        }
    ],
    "params": [
        {
            "type": {
                "names": [
                    "Object"
                ]
            },
            "description": "The object to inherit from.",
            "name": "prototype"
        },
        {
            "type": {
                "names": [
                    "Object"
                ]
            },
            "optional": true,
            "description": "The properties to assign to the object.",
            "name": "properties"
        }
    ],
    "returns": [
        {
            "type": {
                "names": [
                    "Object"
                ]
            },
            "description": "Returns the new object."
        }
    ],
    "examples": [
        "function Shape() {\r  this.x = 0\r  this.y = 0\r}\r\rfunction Circle() {\r  Shape.call(this)\r}\r\rCircle.prototype = create(Shape.prototype, {\r  'constructor': Circle\r})\r\rconst circle = new Circle\rcircle instanceof Circle\r// => true\r\rcircle instanceof Shape\r// => true"
    ],
    "name": "create",
    "longname": "create",
    "kind": "function",
    "scope": "global",
    "___id": "T000002R000098",
    "___s": true,
    "filepath": "create.js"
}