Spaces:
Runtime error
Runtime error
var baseAssign = require('./_baseAssign'), | |
baseCreate = require('./_baseCreate'); | |
/** | |
* 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. | |
* | |
* @static | |
* @memberOf _ | |
* @since 2.3.0 | |
* @category Object | |
* @param {Object} prototype The object to inherit from. | |
* @param {Object} [properties] The properties to assign to the object. | |
* @returns {Object} Returns the new object. | |
* @example | |
* | |
* function Shape() { | |
* this.x = 0; | |
* this.y = 0; | |
* } | |
* | |
* function Circle() { | |
* Shape.call(this); | |
* } | |
* | |
* Circle.prototype = _.create(Shape.prototype, { | |
* 'constructor': Circle | |
* }); | |
* | |
* var circle = new Circle; | |
* circle instanceof Circle; | |
* // => true | |
* | |
* circle instanceof Shape; | |
* // => true | |
*/ | |
function create(prototype, properties) { | |
var result = baseCreate(prototype); | |
return properties == null ? result : baseAssign(result, properties); | |
} | |
module.exports = create; | |