兼收并蓄 TypeScript - 基础: 基础

源码 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.hqwc.cn/news/800428.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

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脚位置。

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

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

痞子衡嵌入式:MCUBootUtility v6.3发布,支持获取与解析启动日志

--痞子衡维护的 NXP-MCUBootUtility 工具距离上一个大版本(v5.3.0)发布过去一年了,期间痞子衡也做过三个版本更新,但不足以单独介绍。这一次痞子衡为大家带来了全新重要版本v6.3.x,这次更新主要是想和大家特别聊聊 ROM 启动日志这个特性的支持。 一、v6.0 - v6.3更新记录 --…

帝国cms密码错误 帝国cms密码错误怎么回事

在使用帝国CMS时,如果遇到密码错误的情况,通常是因为输入的用户名或密码不正确。以下是一些可能的原因和解决方法:输入错误最常见的原因是用户输入了错误的密码。请仔细检查输入的密码是否正确,注意大小写和特殊字符。密码已更改如果你最近更改了密码但忘记了新密码,你需要…

Scratch少儿编程教程 | 绘制五星红旗

在国庆节来临之际,教孩子们使用Scratch绘制一面五星红旗是个有趣且有教育意义的项目。通过这个教程,孩子们不仅能学习编程的基本概念,还能深入理解国旗的构造与意义。下面是如何在Scratch中实现这个作品的详细步骤。 一、项目概述 项目名称:绘制五星红旗 目标效果:通过Scr…

gojs去水印,亲测好用 本人是2.1.49版本

1.String.fromCharCode(a.charCodeAt(g)^b[(b[c]+b[d])%256])2.在后面粘帖上如下代码:if(f.indexOf(GoJS 2.3 evaluation) > -1||f.indexOf(© 1998-2023 Northwoods Software) > -1||f.indexOf(Not for distribution or production use) > -1||f.indexOf(gojs.n…

SaaS架构:流程架构分析

大家好,我是汤师爷~ 今天聊聊SaaS架构中的流程架构分析。 业务流程的概念 业务流程是企业为实现目标而制定的一套系统化的工作方法。它由一系列有序的业务活动组成,按照既定规则将资源(输入)转化为有价值的结果(输出)。这一过程需结合企业的具体情况和可用资源,旨在为客…