1.类型
类型 | 描述 |
number | 数值类型 |
bigint | 大整数类型 |
boolean | 布尔类型 |
string | 字符串类型 |
symbol | 符号类型 |
undefined | Undefined类型 |
null | Null类型 |
literal | 字面量类型 |
T[] 或 Array<T> | 数组类型 |
[T1, T2, T3] | 元组类型(指定索引已经知道类型的数组类型) |
Map<K, V> | 映射类型 |
Set<T> | 集合类型 |
T1 | T2 | T3 | 联合类型(满足其一即可) |
T1 & T2 & T3 | 交叉类型(必须全部满足) |
any | 任意类型 |
unknown | 未知类型 |
void | void类型(只可以用作函数的返回类型,表示一个函数没有返回值) |
never | never类型 |
2.变量
let 变量名: 类型;
let 变量名: 类型 = 值;
3.常量
const 常量名: 类型 = 值;
4.函数
//函数声明
function 函数名(值形参名: 类型, 默认值形参名: 类型 = 默认值, ...数组形参名: 类型[]): 返回类型 {
}
//函数表达式
//命名函数表达式
let f = function f2(形参名: 类型): 返回类型 {
};
//匿名函数表达式
let f = function (形参名: 类型): 返回类型 {
};
//箭头函数表达式
let f = (形参名: 类型): 返回类型 => {
};
5.类
5.1成员定义
//类
class 类名 {
static 静态字段名: 类型 = 值;
static get 静态访问器属性名(): 返回类型 {
}
static set 静态访问器属性名(形参名:类型) {
}
static 静态方法名(形参名: 类型): 返回类型 {
}
static {
}
实例字段名: 类型 = 值;
get 实例访问器属性名(): 返回类型 {
}
set 实例访问器属性名(形参名: 类型) {
}
实例方法名(形参名: 类型): 返回类型 {
}
constructor(形参名: 类型) {
}
}
//对象字面量
{
数据属性名: 类型;
方法名(形参名: 类型): 返回类型;
}
5.2抽象类
abstract class 类名 {
abstract 实例方法名(形参名: 类型): 返回类型;
}
5.3方法重载
方法签名包括:形参类型、形参个数、返回类型。
6.接口
6.1接口定义
interface 接口名 {
}
6.2接口继承
interface 子接口名 extends 父接口名1, 父接口名2, 父接口名N {
}
6.3实现接口
class 类名 implements 接口名1, 接口名2, 接口名N {
}
7.泛型
function 函数名<T>() {
}
class 类名<T> {
}
interface 接口名<T> {
}
8.枚举
enum 枚举名 {
}
9.可见性
成员的可见性 | 类(子类)内调用 | 继承 | 类(子类)外直接调用 | 同一个类(子类)的不同对象 |
public | 可以 | 可以 | 可以 | 可以 |
protected | 可以 | 可以 | 不可以 | 可以 |
private | 可以 | 不可以 | 不可以 | 可以 |
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/javascript/javascriptlang/36793.html