目前vue3+盛行,typescript(后称ts)也被许多人接受,vue3+也基于ts开发,基于此写两篇关于ts的基础开发
ts是js的一个超集,支持es6语法,所以用es6写ts也是没毛病的,但不建议这么做
ts基础类型:
任意类型: any; 数字类型: number; 字符串类型: string; 布尔类型: boolean; 数组类型; 元组; 枚举: enum; void; null; undefined; never
跟js差不太多,其中
any表示任意类型的值
数组类型和元组就是js的Array对象;
数组类型就是固定类型的Array对象,例:
// 声明变量为number类型的数组
let arr: number[] = [1, 2];
// 或者使用数组泛型声明
let arr: Array<number> = [1, 2];
元组就是不定类型的Array对象,例:
// 表示已知元素数量和类型的数组
let x: [string, number];
x = ['Runoob', 1]; // 运行正常
枚举: enum一般情况下在实际应用中很少用到,这里只做简单的介绍
// 开发过程中一般枚举只做常量枚举
enum Days {Sun, Mon, Tue}
console.log(Days) // {'0': 'Sun', '1': 'Mon', '2': 'Tue', Sun: 0, Mon: 1, Tue: 2}
never 是其它类型(包括 null 和 undefined)的子类型,代表从不会出现的值。
ts变量命名规则
- 变量名可以包含数字和字母;
- 除了下划线
_和美元$符号外,不能包含特殊字符,包括空格 - 变量名不能以数字开头 声明变量初始值
// 任意类型: any; 数字类型: number; 字符串类型: string; 布尔类型: boolean;
let [变量名]: [类型]; // 值为undefined
let [变量名]: [类型] = 值; // 指定类型,指定值
let [变量名] // 不指定类型,值为undefined
// 数组类型;
// 声明变量为number类型的数组
let arr: number[] = [1, 2];
// 或者使用数组泛型声明
let arr: Array<number> = [1, 2];
// 元组;
// 表示已知元素数量和类型的数组
let x: [string, number];
x = ['Runoob', 1]; // 运行正常
x = [1, 'Runoob']; // 运行报错