1.基本类型变量的写法
let a: Array<string> = ["1"];
let a1: string[] = ["1"];
type foc11 = Array<string> | number[];
let a2: foc11 = [1];
let a3: foc11 = [""];
enum FPC {
name1 = 1,
name2 = 2,
}
let b: FPC = FPC.name1;
let b1: FPC = 1;

2.函数
let d0: () => void;
d0 = () => {
return 1;
};
let d2 = function (A: number): void {
};
d2(1);
type d3 = (A: number) => void;
let d33: d3 = () => {
return 1;
};
d33(1);
interface d4 {
(A: number): void;
}
let d44: d4 = () => {
return 1;
};
declare function d1(): void;
d1();

3.对象
type obj1 = {
readonly name: string;
age: number;
} & {
height: number;
};
let theO: obj1 = {
name: "",
age: 3,
height: 13,
};
interface Iobj1 {
readonly name: string;
age: number;
}
interface Iobj1 {
height: number;
}
let theI: Iobj1 = {
name: "",
age: 3,
height: 13,
};

4.class类
class FPC_1 {
public name: string = "fpc";
protected age = 11;
private height = 111;
}
let A: FPC_1 = new FPC_1();
A.name;
A.age;
A.height;
interface IFPC2 {
name: string;
}
interface IFPC3 extends IFPC2 {
age: number;
}
interface IFPC4 {
height: number;
}
class YC implements IFPC3, IFPC4 {
public name = "1";
private age = 2;
public height = 3;
}
abstract class YCPC {
names: string;
abstract ages: number;
height: number;
abstract getAll() {}
abstract getAll2(): void;
getAll3() {}
}
class SON extends YCPC {
}
class SON2 extends YCPC {
ages = 1;
getAll() {}
getAll2() {}
}
let ddd = new SON2();
ddd.getAll3();
