源码 https://github.com/webabcd/TypeScriptDemo
作者 webabcd
兼收并蓄 TypeScript - 基础: 基础
示例如下:
basic\basic.ts
{// 基础// try/catch/finally 的用法function f1(str:string) : number | null {try {let num = Number(str);if (isNaN(num)) {throw new Error("不是一个有效的数字");}return num / 5;} catch (error) {console.error(`catch: ${(error as Error).message}`);return null;} finally {console.log("finally");}}console.log(f1("100")); // finally 20console.log(f1("abc")); // catch: 不是一个有效的数字 finally null
}// es2020 新特性
// 支持 ?? 运算符
{let value1: string | null = null;let value2: string | undefined = undefined;let value3: string = 'Hello';// ?? 用于在变量为 null 或 undefined 时提供默认值const result1 = value1 ?? 'Default';const result2 = value2 ?? 'Default';const result3 = value3 ?? 'Default';console.log(result1, result2, result3); // Default Default Hello
}// es2021 新特性
{// ||= 仅当左侧操作数为假值时,才将右侧操作数赋值给左侧操作数let a = 10;a ||= 5; // 10let b = 0;b ||= 5; // 5// &&= 仅当左侧操作数为真值时,才将右侧操作数赋值给左侧操作数let c = 10;c &&= 5; // 5let d = 0;d &&= 5; // 0// ??= 仅当左侧操作数为 null 或 undefined 时,才将右侧操作数赋值给左侧操作数let e = null;e ??= 5; // 5let f = undefined;f ??= 5; // 5let g = 10;g ??= 5; // 10console.log(a, b, c, d, e, f, g); // 10 5 5 0 5 5 10
}
源码 https://github.com/webabcd/TypeScriptDemo
作者 webabcd