TypeScript学习之类型缩小
类型缩小
假设我们有一个名为 padLeft
的函数。
1 | function padLeft(padding: number | string, input: string): string { |
如果 padding
是 number
,它会将其视为我们想要添加到 input
的空格数。如果 padding
是 string
,它应该只是将 padding
前置到 input
。让我们尝试实现当 padLeft
为 padding
传递 number
时的逻辑。
1 | function padLeft(padding: number | string, input: string) { |
哦,我们在 padding
上遇到错误。TypeScript 警告我们,将 number | string
添加到 number
可能不会给我们想要的东西,这是正确的。换句话说,我们没有先明确检查 padding
是否是 number
,也没有处理它是 string
的情况,所以让我们这样做。
1 | function padLeft(padding: number | string, input: string) { |
如果这看起来像是无趣的 JavaScript 代码,那就是重点。除了我们放置的注释之外,这个 TypeScript 代码看起来像 JavaScript。这个想法是 TypeScript 的类型系统旨在使编写典型的 JavaScript 代码尽可能容易,而无需向后兼容以获得类型安全。
TypeScript学习之基础类型
Android 学习之 Activity 生命周期
当用户浏览、退出和返回到您的应用时,应用中的 Activity
实例会在其生命周期的不同状态间转换。Activity
类会提供许多回调,这些回调会让 Activity 知晓某个状态已经更改:系统正在创建、停止或恢复某个 Activity,或者正在销毁该 Activity 所在的进程。
Docker 中 gitlab 登录密码忘了怎么办?
一直自动登录导致忘记 gitlab 的密码,这篇文章我们来通过命令行修改 gitlab 的密码。
C 语言重拾【八】结构和其他数据形式
在 C 语言中,结构体是一种非常重要的数据类型。它可以将不同的数据类型组合成一个整体,方便程序员进行操作。比如,我们可以定义一个结构体来表示一个人的信息,包括姓名、年龄、性别等等。使用结构体可以使得程序更加清晰易懂,提高代码的可读性和可维护性。
macOS 安装 manpages-zh
在 macOS 上,man
命令用于查看系统中安装的程序的帮助文档。然而,默认情况下,这些帮助文档都是英文的,对于不熟悉英文的用户来说可能会有些困难。幸运的是,我们可以安装 manpages-zh
来获取中文帮助文档。
GitHub 使用命令行同步 fork 仓库
在 GitHub 上,我们可以使用 Fork 操作将其他用户的仓库复制到自己的账户下。但如果原始仓库更新了,我们可能需要将其再次 fork 到自己的账户下,以保持代码与原始仓库同步。下面将介绍如何使用 Git 命令行进行 GitHub 仓库再次 fork 的操作。
如何使用 Git 进行高效的版本控制
Git 是一款分布式版本控制系统,于 2005 年由 Linus Torvalds 创造并开源发布。Git 的设计初衷是为了更好地管理 Linux 内核代码,它的分布式特性使得多人协作开发和大型项目的版本控制变得更加高效和可靠。现在,Git 已经成为了开源社区和软件开发领域中最受欢迎的版本控制工具之一。