created at 2023/08/05 04:20:33
updated at 2023/08/05 04:58:18
any
typescript
let a: any;
number
typescript
let bin: number = 0b1010;
let oct: number = 0o744;
let dec: number = 6;
let hex: number = 0xf00d;
string
typescript
let str: string = '子非鱼,安知鱼之乐';
let templateStr = `庄子说:${str}`;
boolean
typescript
let flag: boolean = true;
typescript
//普通声明
let arr: number[] = [1, 2];
//泛型声明
let arr: Array<number> = [1, 2];
typescript
let x: [string, number] = ['hello world', 1];
let subStr1 = x[0].substring(1);
// let subStr2 = x[1].substring(); //error
enum
typescript
enum Color {
red,
green,
blue,
}
let c: Color = Color.red;
console.log(c);
enum Color {
Red = 1,
Green,
Blue,
}
let color: Color = Color.Green;
console.log(color); //2
let colorName: string = Color[1];
console.log(colorName); //Red
enum Color {
R = 1,
G = 2,
B = 4,
}
let co: Color = Color.Green;
console.log(co); //2
const getVal = () => {
return 0;
};
enum lst {
A = getVal(),
B = 1, //如果某个属性的值是计算出来的,那么它后面一位的成员必须要初始化值。
C,
}
void
typescript
function hello():void{
console.log('hello world');
}
null
表示对象值缺失typescript
/*
在 JavaScript 中 null 表示 "什么都没有"。
null是一个只有一个值的特殊类型。表示一个空对象引用。
用 typeof 检测 null 返回是 object。
*/
let a: null = undefined;
let b: null = null;
undefined
初始变量为一个未定义的值typescript
/*
在 JavaScript 中, undefined 是一个没有设置值的变量。
typeof 一个没有值的变量会返回 undefined。
Null 和 Undefined 是其他任何类型(包括 void)的子类型,可以赋值给其它类型,如数字类型,此时,赋值后的类型会变成 null 或 undefined。而在TypeScript中启用严格的空校验(--strictNullChecks/strict)特性,就可以使得null 和 undefined 只能被赋值给 void 或本身对应的类型
*/
let a: undefined = null;
let b: undefined = undefined;
never
typescript
// never类型是任何类型的子类型,也可以赋值给任何类型;
// 然而,没有类型是never的子类型或可以赋值给never类型(除了never本身之外)
// 在函数中它通常表现为抛出异常或无法执行到终止点(例如无限循环)
function error(message: string): never {
throw new Error(message);
}
//? 推断的返回值类型为never
function fail() {
return error('return never!');
}
function infiniteLoop(): never {
while (true) {}
}
any
typescript
let anyVal: any = 4;
anyVal = 'maybe a string';
anyVal = false;
// anyVal.toFix(); //toFix exists,but no error
let arrList: any[] = [1, false, '1'];
arrList[1] = 200;
unknown
typescript
// unknown 未知类型,相当于类型安全的any,不可以赋值给其他类型的变量,是所有类型的子类型,这也是区别于any的一点
let arr: number[] = [1, 2, 3];
let x: any = 1;
let un: unkonwn = 1;
un = 'aaa';
arr = y;
arr = un; //error