TypeScript类型级别和值级别如何区分(typescript,开发技术)

时间:2024-04-30 04:42:17 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    TypeScript%E7%B1%BB%E5%9E%8B%E7%BA%A7%E5%88%AB%E5%92%8C%E5%80%BC%E7%BA%A7%E5%88%AB%E5%A6%82%E4%BD%95%E5%8C%BA%E5%88%86

首先,让我们对值级别编程和类型级别编程进行重要区分。

值级别编程让我们编写将在生产中运行的代码即运行期,并为我们的用户提供有用的东西。

类型级别编程帮助我们确保代码在发布之前即编译期不包含错误,在运行期会被完全删除

JavaScript没有类型,所以所有JavaScript都是值级别的代码:

TypeScript允许我们将类型注释添加到JavaScript中,并确保我们编写的sum函数永远不会用数字以外的任何东西调用:

但TypeScript的类型系统远比这强大得多。我们编写的真实代码有时需要是通用的,并接受我们事先不知道的类型。

在这种情况下,我们可以在尖括号<A,B,&hellip;>中定义类型参数然后,我们可以将类型参数传递给一个类型级函数,该函数根据输入类型计算输出类型:

这就是类型级编程!DoSomething<A,B> 是一种用特殊编程语言编写的类型级函数,它与我们用于值的语言不同,但同样强大。让我们将这种语言称为类型级TypeScript。

类型级TypeScript是一种最小的纯函数语言。

在类型级别,函数被称为泛型类型:它们接受一个或多个类型参数并返回单个输出类型。下面是一个函数的简单示例,该函数使用两个类型参数并将它们包装在元组中:

类型级别的TypeScript没有很多功能。毕竟,它是专门为你的代码做类型约束的!也就是说,它确实有足够的特性(几乎)图灵完备,这意味着你可以用它解决任意复杂的问题。

代码分支:根据条件执行不同的代码路径(相当于值级别if/else关键字)。

变量赋值:声明一个变量并在表达式中使用它(相当于值级别var/let关键字)。

函数:可重复使用的逻辑单位,如我们在前面的示例中看到的。

循环:通常通过递归。

相等检查:==但适用于类型!

还有更多!

这是我们将在接下来的章节中学习的语言类型的简要概述。现在,让我们开始第一次挑战吧!

在每一章结束时,你将有一些挑战需要解决,以将你的新技能付诸实践。它们看起来像这样:

namespace 是一个鲜为人知的TypeScript功能,它可以让我们在专用范围内隔离每个挑战。

TODO 是占位符。这是您需要更换的!

res1=。。。 是泛型为某些输入类型返回的类型。您可以用鼠标将其悬停以检查其当前

type test1=Expect<Equal<res1,&hellip;>> 是类型级单元测试。用于判断TODO部分的代码是否正确

在此之前你要先定义好Expect和Equal

准备好迎接你的第一个挑战了吗?出发:

本文:TypeScript类型级别和值级别如何区分的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Java如何使用junit框架进行代码测试下一篇:

6 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18