Object.create = function(proto, propertiesObject) {
let result = {};
let empty = {};
empty.__proto__ = null;
if (proto !== Object(proto) && proto !== null) {
throw new TypeError('');
}
if (proto == null) {
return empty;
}
result = Object.setPrototypeOf({}, proto);
if (propertiesObject !== undefined) {
Object.defineProperties(result, propertiesObject);
}
return result;
};