【发布时间】:2018-12-17 15:33:38
【问题描述】:
我正在深入研究 JavaScript。我知道可以通过修改原型来修改/增强 JavaScript 对象的行为。
出于特殊目的,我想使用 Array 并向其添加各种行为。我完全明白为我的情况更改所有数组是不好的。但它是常规的 OO 语言,我可以扩展它,添加我的功能,不要管原来的。 JS中有什么可比的吗?就像,我可以复制数组原型并将其放到另一个类中并在不影响其他数组的情况下摆弄它吗?还是有什么概念?
不是很重要,但它会很有帮助,而且肯定会帮助我更深入地了解 JS,这是我在多年使用 Java、C++ 等之后真正进入的领域。
【问题讨论】:
-
在 ES6 中,你可以扩展
Array,尽管如果你尝试转译到 ES5,这将不起作用。 -
class MyArray extends Array { … } -
Javascript 是目前最容易打孔的语言之一。您可以简单地将新函数作为属性添加到任何对象。如果你把它放在原型上,该类型的所有对象都会继承它。你有没有在这方面尝试过……?
标签: javascript inheritance prototype