【TypeScript】类型推断与类型别名的使用方式。

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

【TypeScript】类型推断与类型别名的使用方式。,TypeScript,typescript,javascript,前端

什么是类型推断?

在 TypeScript 中, 如果声明变量时,没有明确的指定类型,那么 TypeScript 会依照类型推论(Type Inference)的规则推断出一个类型。

以下代码虽然没有明确指定类型,但是会在编译的时候报错:

let myiten = "字符串"

myiten = 123

【TypeScript】类型推断与类型别名的使用方式。,TypeScript,typescript,javascript,前端
事实上,它等价于:

let myiten:string = "字符串"

myiten = 123

TypeScript 会在没有明确的指定类型的时候,可以根据初始化默认赋值的类型,推测出一个类型,默认把初始值的类型,就当做变量的类型,这就是类型推论。


如果定义的时候没有明确指定类型,并且也没有初始化赋值,那么不管之后有没有赋值,都会被推断成 any 类型而完全不被类型检查:

let myiten

myiten = false;
myiten = undefined;
myiten = "字符串";
console.log(myiten.length); //不会报错
myiten = 123;
console.log(myiten.length);  //这里会报错,因为 myiten 已经不再是 String了,类型已经被更改了,如果再读取 字符串的方法,就会报错。

作为函数时,如果没有手动指定返回值类型,则也会根据我们的 实际返回值,进而推断出返回值类型
【TypeScript】类型推断与类型别名的使用方式。,TypeScript,typescript,javascript,前端


类型别名

语法:type 别名 = 类型

  • 类型别名概念:主要用来给一个给较为复杂的类型起个新名字
  • 作用:把多个类型合并为一个类型
  • 好处:简化和复用类型

上案例:

数组定义类型时采用,类型别名

type TypeItem = (string | number);  //给类型自定义名称
type str = boolean | number | Boolean; //给类型自定义整合名称


let arr: TypeItem[] = [456]; //给变量直接赋值类型别名

let arr1: Array<str> = [123, false];//给变量直接赋值类型别名

let arr2: Array<(TypeItem)> = [123, "字符串"];//给变量直接赋值类型别名


type un = TypeItem | str;  //甚至还可以通过type 将多个类型别名进行再次整合。

let arrun: Array<un> = [789, "array", false];  //给变量赋值类型别名二次整合后的。

类型别名运用在普通变量和函数身上时:

type TypeItem = (string | number);

type str = boolean | null;

type un = TypeItem | str;


//类型别名用在普通变量身上
let a: un = false;
a = null;
a = false;
a = 456;
a = "fe";
a = {}  //会报错,所属类型不包含 OBJ{}   //不能将类型“{}”分配给类型"“un”。


//类型别名用在函数身上
function fn(a: un, b: un): un {

    return {}  //会报错,返回值所属类型不包含 OBJ{}   //不能将类型“{}”分配给类型"“un”。

}

类型别名常用于联合类型。作用好处是,简化和复用类型

总结:
本章节给大家介绍了在 【TypeScript】 中 类型推断的解读,以及定义类型别名的使用方式。


🚵‍♂️ 博主座右铭:向阳而生,我还在路上!
——————————————————————————————
🚴博主想说:将持续性为社区输出自己的资源,同时也见证自己的进步!
——————————————————————————————
🤼‍♂️ 如果都看到这了,博主希望留下你的足迹!【📂收藏!👍点赞!✍️评论!】
——————————————————————————————文章来源地址https://www.toymoban.com/news/detail-603983.html

到了这里,关于【TypeScript】类型推断与类型别名的使用方式。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • TypeScript 类型别名(Type Aliases)

    在 TypeScript 中,类型别名(Type Aliases)是一种给现有类型起别名的方式。它可以帮助提高代码的可读性和可维护性,尤其是当你需要使用复杂或重复的类型注解时。 基本使用 本段代码使用了类型别名  N1  来表示一个可以是  number 、 string  或者  boolean  类型的联合类型。接

    2024年02月13日
    浏览(36)
  • TypeScript 学习笔记(二):接口与类型别名、字面量类型

    在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用。接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部状态数据,也不关心这些类里方法的实现细节,它只规定这批类里必须提供某些

    2024年02月16日
    浏览(40)
  • typeScript中的类型断言和类型别名、字符串字面量类型

    目录 1.类型断言 语法  2.类型断言的用途 2.1 将一个联合类型断言为其中一个类型   2.2 将一个父类断言为更加具体的子类  2.3 将任何一个类型断言为 any 2.4 将 any 断言为一个具体的类型 类型断言的限制 双重断言 类型断言 vs 类型转换 类型断言 vs 类型声明 类型断言 vs

    2024年02月04日
    浏览(38)
  • TypeScript类型系统:强类型的优势和使用方式

    在上一篇文章《TypeScript入门指南:从JS到TS的转变》 中,已经向大家说明了 TypeScript 是一种静态类型的编程语言,它的 类型系统 是它的重要特性之一。TypeScript 的类型系统可以提供一些强大的优势,可以帮助开发人员编写 更健壮 、 更可维护 和 更易于理解 的代码。 从这一

    2024年02月09日
    浏览(39)
  • TypeScript:为什么JavaScript需要类型检查?

    JavaScript是当今最为流行的编程语言之一。它是一种高级的、解释性的编程语言,用于Web应用程序的开发。然而,JavaScript的灵活性也是它的弱点之一。JavaScript中的变量、函数、类等都是动态类型,这意味着它们的类型可以在运行时发生变化。虽然这种灵活性为JavaScript开发人员

    2024年02月04日
    浏览(56)
  • TypeScript:赋予JavaScript数据类型新的力量,提升编程效率!

    🎬 岸边的 风: 个人主页  🔥  个人专栏  : 《 VUE 》 《 javaScript 》 ⛺️  生活的理想,就是为了理想的生活 ! ​ TypeScript: 扩展 JavaScript 数据类型,赋予编程更强大的表达能力! 在现代Web开发中, TypeScript 已经成为了一种备受欢迎的编程语言。它不仅继承了 JavaScript 的

    2024年02月09日
    浏览(47)
  • TypeScript判断对象类型的四种方式

    一、typeof 二、 instanceof 三、 constructor 四、 Object.prototype.toString() 使用案例:  

    2024年02月13日
    浏览(38)
  • 【TypeScript】接口类型 Interfaces 的使用理解

    导语 : 什么是 类型接口 ? 在面向对象语言中 ,接口 (Interfaces) 是一个很重要的概念,它是对行为的抽象,而具体如何行动需要由类(classes)去实现(implement)。TypeScript 中的 类型接口 是一个非常灵活的概念,除了可用于 对类的一部分行为进行抽象 以外,也常用于对「

    2024年02月15日
    浏览(53)
  • Buf 教程 - 使用 Protobuf 生成 Golang 代码和 Typescript 类型定义

    Buf 是一款更高效、开发者友好的 Protobuf API 管理工具,不仅支持代码生成,还支持插件和 Protobuf 格式化。 我们可以使用 Buf 替代原本基于 Protoc 的代码生成流程,一方面可以统一管理团队 Protoc 插件的版本、代码生成配置,另一方面可以简化项目开发配置。 本文将会用两部分

    2024年02月08日
    浏览(87)
  • 在 TypeScript 中有效地使用 keyof 和 typeof 来表示类型

    在本文中,我们将学习如何通过组合类型运算符和枚举来提取和声明常量类型 typeof ,以使您的代码库得到优化。 keyof 为了获得更好的编码体验,您应该在 IDE 中安装 TypeScript,例如VSCode。它将为您提供许多基本功能,例如错误突出显示、IntelliSense、linting 等...您还应该安装一

    2024年02月11日
    浏览(40)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包