Object.create2 = function(proto, propertyObject) {
if (!['Object','function].includes(typeof proto)) {
throw new TypeError('Object prototype may only be an Object or null.')
if (propertyObject == null) {
new TypeError('Cannot convert undefined or null to object')
}
function F() {}
F.prototype = proto
const obj = new F()
if (propertyObject != undefined) {
Object.defineProperties(obj, propertyObject)
}
if (proto === null) {
// 创建一个没有原型对象的对象,Object.create(null)
obj.__proto__ = null
}
return obj
}
Object.create()手写
最新推荐文章于 2024-11-10 21:29:42 发布
本文介绍了一个名为Object.create2的JavaScript函数,它用于创建对象并支持自定义原型和属性。函数首先检查参数类型,确保正确性,然后通过原型链设置和定义属性,最后提供特殊处理以创建无原型对象。
摘要由CSDN通过智能技术生成