这是我参与「第四届青训营 」笔记创作活动的的第12天
前言
什么是TypeScript
TypeScript是由微软开发的一款开源的编程语言,本质上TypeScript 扩展了 JavaScript的语法,如下图
为什么使用TypeScript
- 开源
- 简单
- TypeScript 是 JavaScript 的超集,这意味着他支持所有的 JavaScript 语法。
- TypeScript 引入了 JavaScript 中没有的“类”概念
- TypeScript 中引入了模块的概念,可以把声明、数据、函数和类封装在模块中
- 安全
- TypeScript 它是一个静态类型检查器,在执行之前(编译)检查程序是否存在错误,可以显示标出代码中的意外行为,并根据值的种类进行检查,从而降低了发生错误的可能性。
- 类型安全功能能在编码期间检测错误,这为开发人员创建了一个更高效的编码和调试过程
TypeScript入门知识
数据类型
- js已有的数据类型
- 基础数据类型(String、Number...)
- 引用数据类型(Obiect)
- ts新增数据类型
- 组合类型,枚举类型,void类型,any类型等
- 类、接口
枚举类型(enum)
定义一组常量。它描述一个值,这个值可以是这些命名常量中的一个
事先考虑到某一变量可能取的值,尽量用自然语言中含义清楚的单词来表示它的每一个值,这种方法称为枚举方法,用这种方法定义的类型称枚举类型
语法:
enum 枚举名 {
标识符 = [整型常数/字符串],
标识符 = [整型常数/字符串],
...
标识符 = [整型常数/字符串]
};
示例:
enum Flag {
success = 200,
error = 404,
overtime = 500
};
元组类型
类似数组,标识出有几个元素以及元素的类型,里面的元素可以是不同的数据类型
let user: [number, string]; //元组声明,包含两个元素【number,string】
let userId = 7;
let userName = "root";
user = [userId, userName]; //元组赋值
any类型
any 类型表示任意数据类型。
当值为any时,会有任何的类型错误提示,所以不推荐使用
any
示例:
enum Flag {
success,
error,
overtime
};
let flag: any = true;//布尔型
let num: any = 123;//数字型
let str: any = 'Hello,TypeScript';//字符型
let arr: any = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0];//数组型
let tuple: any = [10086, 'Nick'];//元组型
let e: any = Flag.success;//枚举型
let n: any = null;//null型
let u: any = undefined;//undefined型
void类型
void 类型表示没有任何类型,一般用于定义方法的时候方法没有返回值。
示例:
function success(): void {
console.log('hello');
}
组合类型
TypeScript 中支持一个变量可以赋予多种不同的变量类型,多个变量类型使用
|分隔。
示例:
let num: number | null | undefined;
num = 3;
console.log(num);
num = null;
console.log(num);
num = undefined;
console.log(num);