原型继承通过克隆用作原型的现有对象来重用行为。 JavaScript是实践中基于原型的继承的一个很好的例子。
为什么Object.prototype的__proto__是另一个Object.prototype?
如果我们在chrome控制台中创建一个数组, arr=[1,2]; 并使用 arr.__proto__.__proto__ 检查 chrome devtools 中的原型链,我们得到以下结果。 正如你所看到的,__proto__ 对象...
我正在学习有关扩展接口的 TypeScript。我无意中意识到 TypeScript 允许从多个类扩展接口。这让我很惊讶,我研究了......
我正在学习继承属性,但我很困惑。我非常感谢您的帮助,让我明白一些。 所以,继承属性是对象继承自的属性...
将“onclick”或“onchange”等事件处理程序添加为自定义内置元素上的公共类字段
我有用于自定义 HtmlInputElement 的单击、输入和更改事件的标准处理程序。 我想像这样定义这些处理程序: 类 MyInputElement 扩展 HTMLInputElement { 鬼...
Object.hasOwn() 与 Object.prototype.hasOwnProperty()
新方法Object.hasOwn()返回一个布尔值,指示指定对象是否具有指定的属性作为其自己的属性,但Object.prototype.hasOwnProperty()也是如此,
有没有办法使用 OLOO 模式或工厂函数模式定义静态属性或方法?
下面是使用 OLOO 对象创建模式创建自行车对象的代码示例。 让自行车原型 = { 初始化(品牌、型号、品牌){ 这个.make = make; this.model = 模型; 这个.b...
我有2个“课程”: const Person = 函数(名字, 出生年份){ this.firstName = 名字; this.birthYear = 出生年份; } Person.prototype.sayHi = 函数(){ console.log('嗨!');...
我有 2 个基类,即 ParentClass1 和 ParentClass2。现在我想对 ChildClass 进行多重原型继承。 对于单个父类,我的代码如下。 var 父类 =
__lookupGetter__ VS getOwnPropertyDescriptor 检索 getter
我正在尝试为 "HTMLStyleElement.prototype.innerHTML" 设置一个吸气剂。 但我仍然需要检索本机的,以便我可以在完成后调用它。 如果我会使用 __lookupGetter__ 就像...
我在 JS 中观察到一些奇怪的东西。如果我执行以下操作: console.log(Object.getPrototypeOf({}); 上面指向了Object.prototype。去检查: console.log(Object.getPrototypeOf({}) === Obj...
是否有instanceof的静态等价物?即,而不是: obj1 instanceof 类型 就像是: TypeA 是 TypeB 的实例吗? 我找不到任何关于此事的信息,所以我把它拼凑在一起: 功能
Js Prototype继承,Object.create有必要吗?
函数动物(名称){ this.name = 名称; } Animal.prototype.printName = function() { console.log(`我的名字是 ${this.name}`) } 函数狗(名称){ Animal.call(这个, 名字); 这个.spe...
为什么我可以使用 Object.getPrototypeOf(this.constructor.prototype) 而不能在原型方法定义中使用“super”?
所以我测试了这段代码: C1 类{} C1.原型。 f =函数(){ 返回 1 } 类 C2 扩展 C1 {} C2.原型。 f =function(){ 返回 super.f()+1 } 它会抛出语法错误:“super”关键字
在对象的原型链上,有些对象的.constructor.prototype并不指向它的[[prototype]],而是指向该对象本身
打印原型链的源对象可以有多种: [1, 2, 3] // 数组文字 {a: 1} // 对象字面量 new Set() // 内置集合 new Promise( () =>{} ) // 内置 Promise 功能...
我有一个不寻常的情况,我需要动态生成一个类原型,然后使用反射工具(无法更改)遍历原型并找到所有方法。如果我能努力的话...
我有一个不寻常的情况,我需要动态生成一个类原型,然后使用反射工具(无法更改)遍历原型并找到所有方法。如果我能努力的话...
无法在派生类中重载 = 赋值运算符(如我所愿);从 main 跳转到基类运算符方法的调用
我正在尝试为矩阵实现一个包含所有常用操作的类,只是作为练习。我实现了常见操作(+、-、·),但是当我尝试实现切片时我的问题出现了
如何在子类中不使用 super 的情况下初始化父类属性? [重复]
课堂书籍{ 构造函数(标题,年份){ this.title = 标题 今年.year = 年 } 获取详细信息(){ return `书 ${this.title} 是用 ${this.year} 写的` } } 类杂志扩展了书籍{ ...
我有以下代码: const myFunc = () => { 让变量 1、变量 2、变量 3; const setVar1 = (val) => { 变量 1 = 值 } 返回 { 设置变量1 } } 你能告诉我这个模式是如何......
为什么 Promise.prototype.someMenthod 不工作?
我正在使用原型继承的概念为 Promise.all() 编写一个 polyfill,我将 myAll 方法链接到 Promise 的原型。 Promise.prototype.myAll = 函数(