我正在深入研究 JavaScript。我知道通过修改原型(prototype)可以修改/增强 JavaScript 对象的行为。
出于特殊目的,我想采用数组并向其中添加各种行为。我完全明白为我的情况更改所有数组是不好的。但它是常规的面向对象语言,我可以扩展它,添加我的功能,而不用管原来的。 JS中有类似的东西吗?比如,我可以复制数组原型(prototype)并将其放入另一个类中并进行修改而不影响其他数组吗?或者有什么想法吗?
并不重要,但它会很有帮助,并且肯定会帮助我更深入地了解 JS,这是我在学习了多年 Java、C++ 等之后真正进入的领域。
最佳答案
您可以扩展 Array 类并将额外功能实现为该类上的方法。
而不是使用 let x = [];
您现在使用let y = new myArray();
.
class myArray extends Array {
constructor() {
super();
console.log(typeof this.push);
console.log(typeof this.shift);
}
logAndAdd(variable) {
this.push(variable);
console.log(variable);
}
}
let y = new myArray();
y.logAndAdd('hi');
关于javascript - "Extend"JS 数组就像传统的 OO 语言一样吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53818340/