【TypeScript】03-TypeScript基本类型
TypeScript基本类型
在TypeScript中,基本类型是非常重要的一部分,下面我们将详细介绍TypeScript中的基本类型。
基本类型约束
在TypeScript中,可以使用基本类型来约束变量的类型。常见的基本类型有:
- number:表示数字类型,包括整数和浮点数。
- string:表示字符串类型。
- boolean:表示布尔类型,只有两个值true和false。
- type[]:表示数组类型,包含多个同类型元素。
- object:表示对象类型,可以包含多个键值对。
除此之外,还有两个特殊的基本类型:
- null:表示空对象。
- undefined:表示未定义的值。
需要注意的是,null和undefined是其他类型的子集,可以赋值给其他类型。如果要获得更严格的空类型检查,可以添加strictNullChecks: true
,此时null和undefined只能赋值给本身。
其他常用类型
除了上述基本类型外,还有一些其他常用类型:
联合类型
联合类型是指一个变量可以同时具有多种类型。可以使用竖线|
来连接不同的类型。例如:
let x: number | string;
x = 1; // 正确
x = "hello"; // 正确
x = true; // 错误,布尔类型不是x的类型之一
当对联合类型的变量进行类型判断之后,TypeScript会自动推断出变量的确切类型,这种过程叫做类型保护。例如:
function printId(id: number | string) {if (typeof id === "number") {console.log(`Your id is ${id.toFixed(0)}`);} else {console.log(`Your id is ${id.toUpperCase()}`);}
}
void类型
void类型表示没有任何返回值的函数,通常用于约束函数的返回值。例如:
function sayHello(): void {console.log("Hello TypeScript!");
}
never类型
never类型表示一个函数永远不可能结束,通常用于约束函数的返回值。例如:
function throwError(msg: string): never {throw new Error(msg);
}
字面量类型
字面量类型是指使用一个值进行约束,例如约束性别字段。可以使用单引号或双引号包裹值。例如:
type Gender = "male" | "female" | "other";
let gender: Gender = "male"; // 正确
gender = "unknown"; // 错误,"unknown"不是Gender类型之一
元组类型
元组类型是指一个固定长度的数组,并且每一项的类型也确定。可以使用方括号和类型列表来定义元组类型。例如:
let person: [string, number] = ["Tom", 18];
any类型
any类型表示不确定的类型,可以绕过类型检查,可以赋值给任意变量。在TypeScript中,尽量少使用any类型,因为它会降低代码的可维护性。
类型别名
类型别名是指使用type
关键字和自定义名称来定义类型,可以用来简化复杂类型。例如:
type UserId = number | string;
function getUserById(id: UserId) {// ...
}
函数的相关约束
在TypeScript中,可以对函数的参数、返回值等进行约束。常见的约束方式有:
函数重载
函数重载是指在函数之前,对函数调用的多种情况进行声明。例如:
function add(x: number, y: number): number;
function add(x: string, y: string): string;
function add(x: any, y: any): any {return x + y;
}
可选参数
可选参数是指可以在某些参数名后加上问号?
,表示该参数为可选参数,可选参数必须在参数列表的末尾。例如:
function printName(firstName: string, lastName?: string) {if (lastName) {console.log(`My name is ${firstName} ${lastName}.`);} else {console.log(`My name is ${firstName}.`);}
}
总结
本文介绍了TypeScript中的基本类型,包括基本类型约束、其他常用类型、类型别名和函数的相关约束。TypeScript的类型系统可以帮助开发者更好地捕获潜在的错误,并提高代码的可维护性。在使用TypeScript时,建议尽量使用类型约束,以减少潜在的错误。
【TypeScript】03-TypeScript基本类型相关推荐
- 使用TypeScript映射和条件类型使React组件更出色
by Deepu K Sasidharan 通过Deepu K Sasidharan 使用TypeScript映射和条件类型使React组件更出色 (Make your React component ...
- 第七节:在 TypeScript 中什么是类型推论?
上一节,我们学习了TypeScript中的一种新的数据类型:元组Tuple.没学习上一节的同学可以戳:<又一种新的数据类型:元组Tuple> 这一节,我们一起来学习一下TypeScript ...
- TypeScript完全解读(26课时)_2.TypeScript完全解读-基础类型
2.TypeScript完全解读-基础类型 src下新建example文件夹并新建文件.basic-type.ts.截图中单词拼错了.后需注意一下是basic-type.ts 可以装tslint的插件 ...
- 【Typescript专题】之类型进阶
[Typescript专题]之类型进阶 本篇文章是<Typescript 专题>第一篇,本篇文章主要聊一聊基本类型相关的扩展,毕竟随着文章的加深,我在阅读官方文档的时候经常会见到陌生的声明 ...
- TypeScript里的工具类型Partial的理解用法
TypeScript里的工具类型Partial的理解用法 Partial 可以快速把某个接口类型中定义的属性类型变成可选的(Optional): 其实Partial源码很简单 Partial 可以快速 ...
- [译] TypeScript 3.0: unknown 类型
原文地址:TypeScript 3.0: The unknown Type 原文作者:Marius Schulz 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/gold-m- ...
- TypeScript中的联合类型、类型别名、接口、类型断言
一.联合类型 在TypeScript中,联合类型(Union Types)是指用"|"符号将多个类型组合成一个的类型.这种类型可以包含不同的类型,例如字符串.数字或对象.这些不同类 ...
- 【TypeScript专题】之类型断言
[TypeScript 专题]之类型断言 断言是编程术语,表示为一些布尔表达.-- 百度百科 系列文章,收藏不走丢哦 类型断言(Type Assertion)可以用来手动指定一个值的类型.就是告诉编译 ...
- TypeScript完全解读(26课时)_12.TypeScript完全解读-高级类型(1)
12.TypeScript完全解读-高级类型(1) 高级类型中文网的地址:https://typescript.bootcss.com/advanced-types.html 创建新的测试文件 ind ...
最新文章
- 思考:开发者如何挑选最合适的机器学习框架?
- Android驱动开发第五章
- 需求编写的几点经验之谈
- 【Linux】—— /usr/bin/perl 被 MySQL-community-server-8.0.26-1.el7.x86_64 需要,解决方法
- LLVM language 参考手册 翻译停止相关
- 杂谈:项目管理的是与非[转贴]
- 软件项目管理:进度管理相关概念介绍
- github 进阶说明
- 摄影测量--内外方位元素
- java实现调查问卷_智能办公进行时丨富士施乐邀您参与有奖问卷调查
- APPCAN学习笔记006_创建第一个APPCAN应用
- CSS3秘笈复习:第十一章
- java 指针 引用_C++中的指针和引用与Java中的引用区别
- xs2鸿蒙系统,华为Mate XS2来了,搭载麒麟9000,依旧安卓10版本
- python用户画像_干货:如何构建用户画像
- A/N GPU架构解析
- IE、360、百度三者的比较
- 【计算机组成原理】码距怎么计算
- [机缘参悟-82]:企业、HR、管理者激励员工的本质
- 道阻且长 莫失本心(我的OI之旅