兼收并蓄 TypeScript - 基础: 基础

news/2024/9/20 12:07:35

源码 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/62479.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

SimpleAISearch:C# + DuckDuckGo 实现简单的AI搜索

SimpleAISearch:C# + DuckDuckGo 实现简单的AI搜索最近AI搜索很火爆,有Perplexity、秘塔AI、MindSearch、Perplexica、memfree、khoj等等。 在使用大语言模型的过程中,或许你也遇到了这种局限,就是无法获取网上最新的信息,导致回答的内容不是基于最新的信息,为了解决这个…

关于codepage

codepage就是各国的文字编码和Unicode之间的映射表。系统使用映射表就可以在各种编码中做转换。 查表 以gbk为例,它的codepage=936, 可以从ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP936.TXT下载映射表。 “中”字的映射为验证 https://www.toolhelper…

七牛云——存储区域说明

​​ 区域和访问域名存储区域 Region 区域 Region ID 域名华东-浙江 z0 空间管理:http(s)://uc.qiniuapi.com​源站上传:http(s)://up-z0.qiniup.com​源站下载:http(s)://iovip-z0.qiniuio.com​对象管理:http(s)://rs-z0.qiniuapi.com​对象列举:http(s)://rsf-z0.qiniu…

linux 下安装 RabbitMq 及 .net core 实操多种模式

当前系统Debian GNU/Linux 12 安装命令1、sudo apt update    //更新系统2、sudo apt-get install rabbitmq-server    //安装rabbitMq 服务3、sudo service rabbitmq-server start     //启动 rabbitMq4、sudo systemctl enable rabbitmq-server //设置开机…

易基因:组学研究:MeRIP-seq等揭示m6A甲基化及调控因子在食管胃结合部腺癌(AEG)中的作用和调控机制

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 食管胃结合部腺癌(adenocarcinoma of the esophagogastric junction,AEG)是一种在食管胃结合部发生的腺癌,其发病率在全球范围内呈上升趋势,但具体的发病机制尚不明确。尽管在基因组、转录组、蛋白质组和磷…

NPN 和 PMOS 管脚

NPN三极管:以SS8050为例: PMOS :以SI2333 为例:可以看到,控制极都在1脚位置。

详解 HTTPS、TLS、SSL、HTTP区别和关系

一、什么是HTTPS、TLS、SSLHTTPS,也称作HTTP over TLS。TLS的前身是SSL,TLS 1.0通常被标示为SSL 3.1,TLS 1.1为SSL 3.2,TLS 1.2为SSL 3.3。下图描述了在TCP/IP协议栈中TLS(各子协议)和HTTP的关系 二、HTTP和HTTPS协议的区别1、HTTPS协议需要到证书颁发机构(Certificate Aut…

云栖大会Day1:云应用开发平台 CAP 来了

2024 云栖大会开幕,在大会第一天,阿里云正式发布全新产品——云应用开发平台 CAP。CAP 拥有丰富的场景化应用模板,可以极速体验,并且具备更低的成本优势以及灵活组装等特点,成为广大开发者与企业必备的一站式应用开发平台,让应用开发更简单。2024 云栖大会开幕,在大会第…