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

TypeScript基础(一)基本类型类型运算

引言 -- TypeScript是一种开源编程语言,它是JavaScript超集,意味着所有的JavaScript代码都可以在TypeScript中运行。...TypeScript添加了静态类型检查和其他一些新特性,以提高代码可读性、可维护性和可扩展性。...基本类型 number:数字 string:字符串 boolean:布尔 数组 object: 对象 null 和 undefined null和undefined是所有其他类型类型,它们可以赋值给其他类型...类型别名 类型别名(Type Aliases)是TypeScript一种特性,它允许为已有的类型定义一个别名,以提高代码可读性和可维护性。...总结 -- 通过了解这些基本类型类型运算,开发者可以更好地定义变量、函数参数和返回值数据类型,并在编码过程中捕获潜在错误。

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

基本类型_TypeScript笔记2

一.JavaScript类型 JavaScript有7种类型:Boolean、Number、String、Undefined、Null、Object,以及ES6新增Symbol 这7种TypeScript...类型 TypeScript共有13种基本类型,除了JavaScript所有的7种之外,还有: Array:数组,表示一组类型相同元素 Tuple:元组,表示一组固定数量元素(不要求元素类型相同),如二元组...,比如无返回值函数返回值类型 Never:绝不存在类型,如永远不会返回函数(必定抛异常,或函数体有死循环返回值类型 示例如下: // TypeScript新增6种类型 let list...如果指定了数值,后一项值在此基础上递增,否则要求之后项都要指定值(默认数值递增机制应付不了了) Any类型相当于局部类型检查开关,这在TypeScript与JavaScript代码并存项目中很有意义...,见Improve type safety of name global variable 三.类型断言 可以通过类型断言告知TypeScript编译器某个值的确切类型: Type assertions

73820

TypeScript函数类型

{ return x+y; }; 这是可以通过编译,不过事实上,上面的代码只对等号右侧匿名函数进行了类型定义,而等号左边 mySum,是通过赋值操作进行类型推论而推断出来。...{ return x+y; }; 注意不要混淆了 TypeScript => 和 ES6 中 =>。...在 TypeScript 类型定义中,=> 用来表示函数定义,左边是输入类型,需要用括号括起来,右边是输出类型。...==-1; } 采用函数表达式|接口定义函数方式时,对等号左侧进行类型限制,可以保证以后对函数名赋值时保证参数个数、参数类型、返回值类型不变。...在编辑器代码提示中,可以正确看到前两个提示。 注意,TypeScript 会优先从最前面的函数定义开始匹配,所以多个函数定义如果有包含关系,需要优先把精确定义写在前面。

2K30

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

TypeScript 是一种由微软开发静态类型编程语言,它是 JavaScript 超集,并且可以在编译时进行类型检查。...TypeScript 强大类型系统使得开发者能够更轻松地编写可维护、可扩展代码。本文将详细介绍 TypeScript基础类型,包括原始类型、对象类型、数组类型、元组类型、枚举类型和联合类型。...类型推断和类型断言TypeScript 具有强大类型推断能力,它可以根据上下文自动推断变量类型。例如,如果我们在定义变量时直接赋值,TypeScript 可以推断出变量类型。...总结本文详细介绍了 TypeScript 基础类型,包括原始类型、对象类型、数组类型、元组类型、枚举类型和联合类型等方面。...TypeScript 强大类型系统使得开发者能够在编译时进行类型检查,减少了在运行时出现类型错误概率。

30730

TypeScript类型断言-类型声明和转换

TS中并不能判断在使用联合类型时具体是那种类型?当我们不知道是什么类型情况下要使用某个类型特有的属性或者方法,那么就可以用断言来实现,它实际上是对编辑器做了提前告知行为,但是并不能保证运行中报错。...主要有两种方式来实现,具体如下:断言形式(1)尖括号形式语法:+value,尖括号中填写具体类型。...ClaaM):string{ return (val).substr(0,1)}func(1)我们可以看到编辑器中没有报错,如下:但是编译成JS后,运行过程中就报错了,如下:所以除非确切知道变量数据类型...,否则不要使用类型断言,这是因为类型断言会让 TypeScript 编译器将变量当做指定类型,而不管它实际类型,在程序运行时可能有类型错误,断言需要慎用。...(ClassTime: ClassTime | undefined | null)=> { let time = ClassTime(); }做了非空断言,则报错信息就没有了,函数在执行时候会忽略

26610

一文带你了解TypeScript 基本类型

mac 配置环境终端执行命令 sudo npm install -g typescript终端执行命令 sudo npm install -g ts-node终端执行命令 sudo npm install...联合类型当一个属性拥有两个或者两个以上类型那么它就是 联合类型,表示可能是这些类型任何*一种*值。在使用 联合类型时,我们可以明确它为具体类型时执行对应逻辑,通过 typeof 。...(222) //我是number 类型 逻辑处理类型别名使用场景: **多次使用相同类型并通过单个名称引用它。...,增加了一个 education 属性.类型断言有时TypeScript 无法得知属性具体类型时,我们可以告诉编译器它为具体类型。...**⚠️ 注意:****类型断言是在编译时删除,因此没有与类型断言关联运行时检查。如果类型断言错误,则不会生成异常或 null。

30421

TypeScript: 常用高级类型

,枚举类型是真实运行代码,因此枚举类型是真实存在对象,而并非仅仅只是简单类型约束。...可问题在于touch事件对象与mouse事件对象是不一样。那么我们在兼容了这两种事件回调中,如何去描述该回调事件对象呢? 通常使用 & 符号来解决这样常见,将两种类型合并为一种类型。...per: string | string[] 我们在代码编写时,希望能够自动提示对应api,typescript则不知道应该如何处理这种情况。...这种处理,就叫做类型保护。 5 索引类型 我们可以使用 keyof 来获取一个对象中key对应具体值。...我们在实践场景中,还有更多更复杂组合,这些经验很难通过技术文章获取到,需要在实践中慢慢体会。除此之外,typescript官方文档中,还有一些重要东西需要去深入学习。

1.9K10

C++数据类型详解:从基本类型自定义类型

C++是一种强类型语言,它要求程序员在编程时要定义每一个变量类型,这就是C++数据类型作用。C++数据类型包括内置数据类型和用户自定义数据类型。...本文将从多个方面对C++数据类型做详细阐述。 一、基本数据类型 C++中内置基本数据类型包括整型、浮点型、字符型和布尔型。这些数据类型都有自己表示范围和内存布局。...return 0; } 二、数组类型 数组是C++中一种自定义数据类型,可以存储相同类型多个元素。...}     return 0; } 三、结构体类型 结构体是一种自定义数据类型,可以包含多个不同类型元素,称为结构体成员。...;     return 0; } 八、总结 本文对C++数据类型进行了详细阐述,从基本数据类型自定义数据类型,从数组类型到类类型,从指针类型到引用类型

35230

TypeScript 对象类型-接口

一、什么是接口 在 TypeScript 中,我们使用接口(Interfaces)来定义对象类型 接口是一系列抽象方法声明,是一些方法特征集合,第三方可以通过这组抽象方法调用,让具体类执行具体方法...TypeScript 中接口除了可用于对类一部分行为进行抽象以外,还可用于对「对象形状(Shape)」进行描述 举个例子: interface Person { name: string;...需要注意是,一旦定义了任意属性,那么确定属性和可选属性类型都必须是它类型子集: interface Person { name: string; age?...上例中,任意属性值允许是 string,但可选属性 age 值却是 number,number 不是 string 子属性,所以报错了 注意:一个接口中只能定义一个任意属性 如果接口中有多个类型属性...上例中,报错信息有两处: 1、在对 faker 进行赋值时候,没有给 id 赋值 2、在给 faker.id 赋值时候,由于它是只读属性,所以报错了 五、联合类型和接口 以下实例演示了如何在接口中使用联合类型

3.3K10

TypeScript类型断言

本文是关于 TypeScript type assertions ,它与其他语言中类型强制转换有相似之处,并通过 as 运算符执行。...---- 类型断言 类型断言使我们可以覆盖 TypeScript 为存储位置计算静态类型,这对于解决类型系统限制很有用。...类型断言是不得已方法,应尽可能避免。他们(暂时)删除了静态类型系统为我们提供安全网。 注意,在 A 行中,我们还覆盖了 TypeScript 静态类型,不过是通过类型注释完成。...这种覆盖方式比类型声明要安全得多,因为你可以做事情少得多。TypeScript 类型必须能够分配给注释类型。...类型断言替代语法 TypeScript 对于类型断言有另一种“尖括号”语法: 1>data 该语法已经过时,并且与 React JSX 代码(在 .tsx 文件中)不兼容。

3.7K40

TypeScript 类型体操:合并映射类型处理结果为联合类型

索引类型TypeScript常见类型,它是聚合多个元素类型,对象、类、元组等都是索引类型。...它可以对索引类型索引和值做一些变换,然后产生新索引类型。...: TypeScript 也内置了很多基于映射类型实现工具类型,比如 Partial、Required 等。...总之,会了映射类型就能够对索引类型做各种变换了。 但是,这些都是对索引类型整体做变换,变换结果依然是一个索引类型。 有的时候是想把它们分开。比如这种需求: 希望能把每个索引给分开。...总结 索引类型TypeScript常见类型,可以通过映射类型语法来对它做一些修改,生成新索引类型

1.6K40

TypeScript】TS类型断言-类型声明和转换(七)

TS中并不能判断在使用联合类型时具体是那种类型?当我们不知道是什么类型情况下要使用某个类型特有的属性或者方法,那么就可以用断言来实现,它实际上是对编辑器做了提前告知行为,但是并不能保证运行中报错。...主要有两种方式来实现,具体如下:断言形式(1)尖括号形式语法:+value,尖括号中填写具体类型。...ClaaM):string{ return (val).substr(0,1)}func(1)我们可以看到编辑器中没有报错,如下: 但是编译成JS后,运行过程中就报错了,所以除非确切知道变量数据类型...,否则不要使用类型断言,这是因为类型断言会让 TypeScript 编译器将变量当做指定类型,而不管它实际类型,在程序运行时可能有类型错误,断言需要慎用。...(ClassTime: ClassTime | undefined | null)=> { let time = ClassTime(); }做了非空断言,则报错信息就没有了,函数在执行时候会忽略

24210
领券