微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – Typescript,使用没有构造函数的类

在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] 举报,一经查实,本站将立刻删除。

相关推荐