如何解决javascript扩展类获取所有属性
如何从扩展类中获取所有属性?
class Fish {
constructor(name) {
this.name ="this is the name"
}
}
class Trout extends Fish {
constructor(name,length) {
super(name)
this.length = "10cm"
}
}
let newFish =new Trout()
console.log (newFish.name)
console.log (newFish.length)
有什么方法可以使循环获取名称,长度等扩展类中的每个设置吗?
console.log(newFish [0])之类的
解决方法
您的类使用extends
并没有什么实际意义,因为您提到的属性都是由构造对象拥有,而不是从原型继承。而且,它们是枚举的。
因此,您可以使用大多数常用的迭代方法。基本的for...in
循环也可以使用:
for (let prop in newFish) {
console.log (prop,":",newFish[prop])
}
或者Object.keys
,Object.values
,Object.entries
,...
使用以下代码:
const myArray = Object.values(newFish)
// you will get [ 'this is the name','10cm' ]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。