在Angular网站上使用“英雄之旅”教程时,我发现了以下语法(很快):
class Hero {
id: number,
name: string,
}
const aHero: Hero = {
id: 1,
name: 'Superman'
}
console.log(aHero instanceof Hero); //false
这样做有什么意义?如果我检查“aHero”的类型,它只是一个常见的对象而不是“英雄”类型.用构造函数初始化一个对象会更好吗?:
class Hero {
constructor(id: number, name: string) {}
}
解决方法:
您可以使用类作为您使用它的方式.因此,无论Hero是接口还是类,它都无关紧要,因为您将它用作类型.
class Hero { id: number; name: string }
要么
interface Hero { id: number; name: string }
以下不涉及Hero是一个类还是接口
let hero: Hero = { id: 1, name: 'me' }
接口和类的区别是接口只适合你,它不会被转换成javascript.一个类,你不能新建一个接口.
构造函数或没有构造函数,如果你是新的,那么它就是一个instanceof.再试一次
let hero = new Hero();
您的instanceof日志将为true,因为您确实使用关键字new创建了Hero实例.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。