数值 number
字符串 string
布尔值 boolean
数组 Array:Array<type> \ type[]
元组 tuple 固定长度、固定类型
联合 union:typeA | typeB
字面量 literal
枚举 enum
任意类型 any \ unknown(保证类型安全)
void:函数没有返回值
undefined 函数返回值为空 \ 定义未赋值
never:函数不可能执行完成:死循环、报错
类型适配 Type Assertions:将任意类型转化成特定类型;(<type>property) 、 property as type
let someValue: any = "this is a string";
let strLength: number = (<string>someValue).length;
// let strLength: number = (someValue as string).length;
函数类型
对象类型 object
接口 interface \ 实现 implements:多次定义
类型声明 type
类 class
访问修饰符 Access modified:public、private、protected
get \ set
泛型 Generice
function nameGenerics<T>(t: T) {
console.log(typeof t);
}
nameGenerics(1);
nameGenerics("s");
interface IPoint {
// x: number;
// y: number;
X: number;
drawPoint: () => void;
}
class Point implements IPoint {
// x: number;
// y: number;
// constructor(x: number, y: number) {
// this.x = x;
// this.y = y;
// }
constructor(private x: number, private y: number) {
this.x = x;
this.y = y;
}
drawPoint() {
console.log("x: ", this.x, ", y: ", this.y);
}
set X(value) {
this.x = value;
}
get X() {
return this.x;
}
}
let point = new Point(2, 3);
point.drawPoint();
point.X = 3;
point.drawPoint();
声明文件
创建 xxx.d.ts 文件
declare var 声明全局变量
declare function 声明全局方法
declare class 声明全局类
declare enum 声明全局枚举类型
declare namespace 声明(含有子属性的)全局对象
interface 和 type 声明全局类型
配置文件
{
"compilerOptions": {}, // 重点
"files": [], // 编译文件,文件名,可选
"include": [], // 编译文件,正则,可选
"extends": "", // 继承其他配置文件
"exclude": [], // 排除,可选
"references": [] // 指定要引用的项目,可选
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。