首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

TypeScript 中的基础类型:原始类型对象类型、数组类型、元组类型、枚举类型联合类型

TypeScript 强大的类型系统使得开发者能够更轻松地编写可维护、可扩展的代码。本文将详细介绍 TypeScript 中的基础类型,包括原始类型对象类型、数组类型、元组类型、枚举类型联合类型。...例如:let nothing: null = null; // 空类型let nul: null = null; // 空类型对象类型对象类型用于表示非原始数据类型,包括对象、数组、函数等。...例如:enum Color { Red, Green, Blue,}let color: Color = Color.Green;在枚举类型中,每个枚举成员都有一个与它关联的数字,默认 0 开始...类型推断类型断言TypeScript 具有强大的类型推断能力,它可以根据上下文自动推断变量的类型。例如,如果我们在定义变量时直接赋值,TypeScript 可以推断出变量的类型。...总结本文详细介绍了 TypeScript 的基础类型,包括原始类型对象类型、数组类型、元组类型、枚举类型联合类型等方面。

30730

类型即正义:TypeScript 入门到实践(二):函数、交叉联合类型类型守卫

欢迎阅读 类型即正义:TypeScript 入门到精通系列: 《类型即正义:TypeScript 入门到精通系列(序言)》 《类型即正义:TypeScript 入门到精通系列(一)》 了解了基础的...有时候返回也可以不写,TS 可以根据参数类型和函数体计算返回类型,也就是俗称的自动推断类型机制。...其实 TS 会进行类型的自动推导,根据函数类型的结构对比后面的函数,会自动推断出后面函数的 x ,y 和返回都为 number 。...,有的同学可能会有疑问了,之前我们不是说过,TS 能够根据参数类型和函数体自动推断返回类型嘛?...是的,之前那个例子参数类型只有一种选项,所以可以自动推断出返回类型,但是这里的情况是:“参数类型可能有多种选项,对应不同选项的参数类型,会有不同的返回类型,并且我们对参数类型还未知”。

2.7K20
您找到你想要的搜索结果了吗?
是的
没有找到

语法-类型注解

# TypeScript 基础语法 TypeScript 程序由以下几个部分组成: 模块 函数 变量 语句和表达式 注释 # 第一个 TypeScript 程序 我们可以使用以下 TypeScript...2、引用数据类型(Reference Data Types),存储多个、或复杂对象数据类型,比如 object 咱们介绍 5 种原始数据类型typeScript 中的应用 Boolean 布尔...let e: any = "yyds"; e = 666; console.log("any|e:", e); # 类型推断 声明变量、未指定类型,默认是任意类型 在定义变量时未赋值,会进行类型推断的规则...打印输出 7 # 联合类型 联合类型(union Types) 定义一个变量,可以接收多种类型 举个例子,假设你有一个名为 result 的变量,你希望它可以保存数字或者字符串类型。...例如: result = 42; // 保存数字类型 result = "Hello"; // 保存字符串类型 使用联合类型,在类型声明中将这两种类型联合起来,表示该变量可以是其中任意一种类型

14820

分享 30 道 TypeScript 相关面的面试题

它对于确保在使用配置对象或在组件或函数之间传递数据等场景中的不变性特别有用。 11、TypeScript 中的可区分联合有什么用处?...答案:可区分联合(也称为标记联合)是一种结合了联合类型、文字类型类型保护的模式。 当一个对象可以有多个形状但共享一个公共属性(通常是文字类型)时,可以使用它们,该属性可用于缩小其确切形状。...公共属性(通常称为“鉴别器”)允许我们在联合内的类型之间安全地切换,从而更轻松地使用此类对象。 12、继承在 TypeScript 中如何发挥作用?...语法可以是变量或变量作为类型。当您比 TypeScript类型推断系统更了解变量的类型时,例如在处理联合类型或任何类型时,它会很有用。...答:TypeScript类型推断是指编译器在没有显式类型注释的情况下自动推断和分配类型的能力。虽然鼓励显式类型,但编译器会尽可能使用上下文(如变量初始化、返回语句等)来推断类型

49330

TypeScript入门指南:JavaScript开发者的简明概述与实用示例

;函数:TypeScript允许你定义函数参数和返回类型。...:TypeScript通常根据分配的推断类型,减少了显式类型注释的需求。...示例:let x = 10; // TypeScript推断类型为number联合类型和枚举:TypeScript允许你为可以具有多种类型的变量定义联合类型。枚举帮助你创建具有命名常量值的常量。...回答: TypeScript提供了静态类型,这表明你可以明确指定变量、参数和返回类型。这有助于在开发过程中早期捕获错误,使你的代码更健壮可靠。解释TypeScript中的类型推断的概念。...回答: 类型推断TypeScript自动根据变量的确定其类型的能力。这表明你不总是必须显式地提到类型,因为TypeScript通常可以分配的推断类型

12300

检查JavaScript文件_TypeScript笔记18

,就默认any 类型宽松的对象字面量 .ts里,用对象字面量初始化变量的同时会确定该变量的类型,并且不允许往对象字面量上添加新成员,例如: // .ts // obj 类型为 { a: number;...类型推断分为赋值推断与上下文推断,对于.js有一些针对性的推断策略 赋值推断: Class 成员赋值推断 构造函数等价于类 null、undefined、[]赋值推断 上下文推断: 不定参数推断 模块推断...,或者构造函数中类型为undefined或null(此时为any)的属性,其类型为所有赋值中右侧类型联合 定义在构造函数中的属性都认为是一定存在的,其它地方(如成员方法)出现的都当作可选的 类声明中未出现的属性都是未定义的...("end"); 同样,多次赋值时,类型为各类型联合 不定参数推断 .js里会根据arguments的使用情况来推断是否存在不定参数,例如: // .js function sum() { var...对 CommonJS 模块的支持就是通过这种类型推断来完成的 命名空间推断 .js里,类、函数和对象字面量都视为命名空间,因为它们与命名空间非常相似(都具有类型的双重含义、都支持嵌套、并且三者能够结合使用

2.4K50

TypeScript 演化史 — 第八章】字面量类型扩展 和 无类型导入

image.png 上一篇更好的类型推断的文章中,解释了 TypeScript 如何用 const 变量和 readonly 属性的字面量始化来推断字面量类型。...如果 TypeScript 为 let 变量推断一个字面量类型,那么尝试为指定的以外的任何赋值都会在编译时产生错误。...无类型导入 TypeScript 2.1 开始处理无类型化导入更加容易。...以前,编译器过于严格,当导入一个没有附带类型定义的模块时,会出现一个错误: image.png TypeScript 2.1 开始,如果模块没有类型声明,编译器将不再报错。...混合构造函数类型指仅有单个构造函数签名,且该签名仅有一个类型为 any[] 的变长参数,返回对象类型.

4.5K10

TypeScript进阶(三)类型演算与高级内置类型

例如,typeof 操作符可以用于获取一个类型;keyof 关键字可以用于获取一个对象所有属性名组成的联合类型;in 关键字可以用于遍历一个联合类型中所有成员等等。...类型推断与上下文在 TypeScript 中,编译器会根据上下文自动推断变量或表达式的类型。这种基于上下文的推断机制使得代码更加简洁且易读。...映射类型映射类型TypeScript 中一种非常有用的工具,它允许我们根据已有的对象定义新的对象类型。...操作符当谈到 TypeScript 类型演算时,typeof、keyof 和 in 是三个非常重要的操作符和关键字。它们在类型系统中扮演着不同的角色,用于获取类型信息、操作对象属性和遍历联合类型成员。...keyof 关键字keyof 是 TypeScript 中的一个关键字,用于获取一个对象所有属性名组成的联合类型

23910

TypeScript 官方手册翻译计划【二】:普通类型

,因为 TypeScript 会基于 return 语句推断出函数返回类型。...对象类型 除了原始类型之外,最常见的类型就是对象类型了。它指的是任意包含属性的 JavaScript 。要定义一个对象类型,只需要简单地列举它的属性和类型即可。...使用联合类型 提供一个匹配联合类型非常简单 —— 只需要提供一个与联合类型某个成员相匹配的类型即可。如果有一个联合类型,你要怎么使用它呢?...字面量推断 当你初始化一个变量为某个对象的时候,TypeScript 会假定该对象的属性稍后可能会发生变化。...后缀) TypeScript 也提供了一种特殊的语法,可以在不显式进行检查的情况下,将 null 和 undefined 类型中排除。在任意表达式后面添加后缀 !

2.2K20

分享 20 个 TypeScript 小技巧,让你的代码更清晰高效

对于对象形状,优先选择接口而不是类型别名 在定义对象的形状时使用接口来利用其可扩展性。...对多种可能的类型使用联合类型 使用联合类型指定一个变量可以保存多种类型。...name; 而不是这个: const username = user && user.profile && user.profile.name; 16.杠杆类型推断 利用 TypeScript类型推断功能来避免冗余的类型注释...这样做: const name = 'Alice'; 而不是这个: const name: string = 'Alice'; 17.避免深层嵌套 利用 TypeScript类型推断功能来避免冗余的类型注释...模块化你的代码 将代码分解为更小的模块,每个模块负责特定的功能。这提高了可重用性和可维护性。 20.写下清晰简洁的评论 添加注释来解释复杂的算法、重要的决策或边缘情况。避免仅仅重述代码的过多注释。

19210

TypeScript手记(六)

类型推断 这节介绍 TypeScript 里的类型推断。即,类型是在哪里如何被推断的。 基础 TypeScript 里,在有些没有明确指出类型的地方,类型推断会帮助提供类型。...如下面的例子: let x = 3 变量 x 的类型推断为数字。这种推断发生在初始化变量和成员,设置默认参数值和决定函数返回时。 大多数情况下,类型推断是直截了当地。...Animal[] 类型,但是这个数组里没有对象是 Animal 类型的,因此不能推断出这个结果。...这样的话就不报错了,因为这里不会使用到上下文类型。 上下文类型会在很多情况下使用到。通常包含函数的参数,赋值表达式的右边,类型断言,对象成员,数组字面量和返回语句。...我们用竖线(|)分隔每个类型,所以 number | string 表示一个可以是 number 或 string。 如果一个联合类型,我们只能访问此联合类型的所有类型里共有的成员。

1K10

【译】2019年开始使用Typescript

当你想一组具有关联性的描述名称的不同,枚举就很有用处了。 默认,为枚举分配0开始的,接下来的为(上一个枚举)加1。...基本类型推断 TypeScript可以在变量初始化期间,设置默认参数以及确定函数返回推断类型。...string的默认,因此TypeScript编译器会推断出message的类型是string,因此在访问length属性的时候并不会抛出编译错误。...最佳通用类型推断 多种可能的类型推断类型时,TypeScript使用最佳通用类型算法来选择适用于所有其他候选类型类型。...类型注释 当类型推断系统不够用的时,你需要在变量和对象上声明类型。 基本类型 在(上面)基本静态类型章节的介绍中,所有的类型都使用:后跟类型名来声明。

2.2K20

2019年开始使用Typescript

当你想一组具有关联性的描述名称的不同,枚举就很有用处了。 默认,为枚举分配0开始的,接下来的为(上一个枚举)加1。...基本类型推断 TypeScript可以在变量初始化期间,设置默认参数以及确定函数返回推断类型。...string的默认,因此TypeScript编译器会推断出message的类型是string,因此在访问length属性的时候并不会抛出编译错误。...最佳通用类型推断 多种可能的类型推断类型时,TypeScript使用最佳通用类型算法来选择适用于所有其他候选类型类型。...类型注释 当类型推断系统不够用的时,你需要在变量和对象上声明类型。 基本类型 在(上面)基本静态类型章节的介绍中,所有的类型都使用:后跟类型名来声明。

85320
领券