TypeScript的interface

这篇具有很好参考价值的文章主要介绍了TypeScript的interface。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、基本使用

二、interface重名、重合

三、任意key

四、interface的?

五、interface的readonly

六、interfacec的接口继承

七、interface定义函数


一、基本使用

interface A {
    name: string
    age: number
}

let a:A = {
    name: "郑建",
    age: 100
}

总结:变量a这个对象必须有name和age这两个属性,并且他们的类型分别是string和number, 这都相当与给变量a声明了一个指定的类型A

二、interface重名、重合

interface A {
    name: string
    age: number
}
interface A {
    ikun: string
}

let a:A = {
    name: "郑建",
    age: 100,
    ikun: '娘炮'
}

 总结: 定义同名的interface变量它们会重合

三、任意key

interface A {
    name: string
    age: number
    [propName: string]: any  // (索引签名) propName这个名字随便起 类型是string 属性值类型是any
}

let a:A = {
    name: "郑建", // 这个是必须的(强校验)
    age: 100,  // 这个是必须的(强校验)
    a: 1,  // 这个非必须 写的时候也不会有校验
    b: 2, // 这个非必须 写的时候也不会有校验
}

总结:有时候我们请求接口返回来的数据我们有时候只需要name和age,其他属性我们有时候需要有时候不需要,但是太多属性了,我又不想定义。

四、interface的?

interface A {
    name: string
    age?: number
}
let a:A = {
    name: "郑建",
    age: 100,  // 这个属性可选的 不会报错
}

总结:在属性后面加上?表示这个属性可选的,都不会报错

五、interface的readonly

interface A {
    readonly id: number
    name: string
    age: number
}

let a:A = {
    id: 1, // id不可修改
    name: "郑建",
    age: 100,
}

总结:用readonly声明过的  它就不可修改, 通常用于接口返回来的数据id属性,id是不可修改的

六、interfacec的接口继承

interface A extends b {
    name: string
    age: number
}

interface B {
    ikun: string
}

let a:A = {
    name: "郑建",
    age: 100,
    ikun: '娘炮',
}

总结: 跟重叠差不多, 可以继承多个文章来源地址https://www.toymoban.com/news/detail-492912.html

七、interface定义函数

interface Fn {
    (name: string): number[] // 定义了一个参数为string类型,返回为number[]的一个函数
}

const fn: Fn = function(name: string) {
    return [1]
}

到了这里,关于TypeScript的interface的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • TypeScript--接口interface的定义,实现,继承

    可浏览博客主页的 TypeScript 专栏,会陆续添加相关文章,有问题或者可以优化的地方也希望大大门告知 共同进步 :) ts版本 Version 4.8.4 TypeScript的核心原则之一是对值所具有的结构进行类型检查。 它有时被称做“鸭式辨型法”或“结构性子类型化”。 在TypeScript里,接口的作

    2023年04月12日
    浏览(31)
  • 【TypeScript】TS接口interface类型(三)

    一、前言 TypeScript的核心原则之一是对值所具有的结构进行类型检查。 它有时被称做“鸭式辨型法”或“结构性子类型化”。 在TypeScript里,接口的作用就是为这些类型命名和为你的代码或第三方代码定义契约。这些方法都应该是抽象的,需要由具体的类去实现,然后第三方

    2024年02月14日
    浏览(34)
  • typescript中type、interface的区别

    一、概念定义  interface:接口 在TS 中主要用于定义【对象类型】,可以对【对象】的形状进行描述。 type :类型别名 为类型创建一个新名称,它并不是一个类型,只是一个别名。 二,区别 interface: interface 用来定义一个类结构,可以声明多个 使用interface声明,可以被继承扩

    2024年02月08日
    浏览(27)
  • typescript中interface和type的区别

    在TypeScript中,interface和type都用于定义类型,但它们有以下区别: 语法 interface使用interface来定义类型,而type使用type来定义类型。 定义方式 interface 可以通过继承其他interface来扩展自身的属性和方法,也可以多次声明同名的interface,它们会自动合并成一个接口。

    2024年02月16日
    浏览(36)
  • TypeScript中 interface 和 type 的区别

    区别1 使用 interface 和 type 都是表示给定数据结构的常用方法。 定义的方式略有不同。 type 定义的时候有 “=” 符号 区别2 interface 可以多次声明同一接口。它们将合并在一起形成一个接口定义。 type 只能声明一次。 interface:可以多次声明,并最终可共同复用; type:再次声明

    2024年02月14日
    浏览(28)
  • 在 TypeScript 中 interface 和 type 的区别

    在 TypeScript 中, interface  和  type  都用于定义自定义类型,但它们有一些区别: 语法风格: interface  使用  interface  开头,而  type  使用  type  开头。例如: 扩展和实现: interface  可以通过继承或合并来扩展其他接口,并支持类实现。而  type  在定义类型

    2024年02月13日
    浏览(29)
  • 【TypeScript】TS中type和interface在类型声明时的区别

    🐱 个人主页: 不叫猫先生 🙋‍♂️ 作者简介:2022年度博客之星前端领域TOP 2,前端领域优质作者、阿里云专家博主,专注于前端各领域技术,共同学习共同进步,一起加油呀! 💫优质专栏: vue3+vite+typeScript从入门到实践 📢 资料领取:前端进阶资料可以找我免费领取 🔥

    2023年04月26日
    浏览(54)
  • 深入理解 TypeScript 的 type 以及 type 与 interface 和 class 的区别

    TypeScript 是一种强类型的 JavaScript 超集,它为 JavaScript 提供了静态类型系统。在 TypeScript 中,我们可以使用 type 、 interface 和 class 为数据定义类型。本文将重点介绍 type 的作用以及它与 interface 和 class 的区别。 type type 是 TypeScript 中用于定义类型别名、联合类型、交叉类型等复

    2024年02月03日
    浏览(32)
  • TypeScript的基本使用(1)

    这章节主要讲述的是ts和js的区别和一些其他用法,对于新手学习ts的同学来说是不错的选择哦         声明数字类型            声明字符串类型:         声明布尔类型         声明undefined         声明null类型的数据         声明any。这里相当于关闭了类型检测,后续

    2024年02月06日
    浏览(20)
  • TypeScript 泛型的概念和基本使用

    在定义函数,接口,类的时候不能预先确定使用的数据类型,而是在调用使用这些函数,接口,类的时候才能确定的数据类型; 1,单个泛型的参数 例如通过使用any这种方式,value1的类型随着传入的类型数据而变化: 改为泛型之后: 2,多个泛型的参数 3,泛型接口 泛型接口

    2024年02月13日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包