阅读:244回复:0
们通过这个播客了解自己真是令人惊奇
他是奥地利林茨的一名网络开发人员和网络爱好者。他目前在网络性能公司 Dynatrace 工作,撰写、演讲并组织有关软件开发和网络技术的活动。最近,他是《TypeScript in 50 Lessons》一书的作者,该书于今年秋天由 Smashing 出版。所以我们知道他是 TypeScript 方面的专家,但你知道他可以在蒙着眼睛骑独轮车的情况下与多达八只火黄鼠狼玩杂耍吗?我的 Smashing 朋友们,欢迎 Stefan Baumgartner。嗨,斯特凡。你好吗?
斯特凡·鲍姆加特纳:你好。我要崩溃了 我对 B2C 电子邮件列表 自己没有这样的想法,所以这很有趣。 斯特凡:绝对地。 德鲁:所以,我今天想和大家谈谈 TypeScript。 斯特凡:是的。 德鲁:这是你新书的主题,所以显然你花了很多时间才真正深入了解它。 斯特凡:是的,一点没错。 德鲁:对于那些以前没有使用过 TypeScript 的人来 B2C 电子邮件列表 说,可能不熟悉它是什么,您会如何描述 TypeScript,它实际上为我们解决了什么问题? 斯特凡:这是一个非常好的问题。因此,处理 TypeScript 的方法有很多,我最喜欢的一种方法,也是我喜欢在书中描述的方法,就是作为 JavaScript 之上的工具层。JavaScript 是一种很棒的语言,但它也有它的怪癖。有些部分可能有多种含义。您拥有动态类型,这意味着虽然您可以根据代码中的位置拥有不同的类型(例如数字、字符串或对象),但在您工作时,尤其是使用技术或 Node.js 时,会有很多隐式知识。 Node.js,你必须了解一些你使用的 API、函数签名等接口。 斯特凡:TypeScript 试图为您提供一个围绕所有这些的类型系统,为您提供这些信息。因此,它会尝试找出您在分配变量时设置的类型。它告诉您哪些函数签名期望哪些函数签名在哪个位置使用,以及哪些返回您获得的对象,然后您可以访问、修改和使用这些对象。 斯特凡:早在 TypeScript 创建之初,也就是大约 80 年前,TypeScript 团队的主要目标就是以一种附加语言的形式创建这个工具层。因此,为了承担 JavaScript 的所有风险,他们创建了自己的元语言,允许您为函数、对象等定义类型。这也意味着每个 JavaScript 代码都是 TypeScript 代码,这也意味着您可以立即开始。如果您了解 JavaScript,那么您基本上也是一名 TypeScript 开发人员。您只需获取所需的信息即可获取越来越多的有关代码的信息。 德鲁:那么,TypeScript 几乎就像对我们如何编写 JavaScript 施加了一系列更严格的规则,以使代码更可靠?就是它… 斯特凡:是的,是的,就是这样。所以,严格程度完全取决于你。所以你可以告诉 TypeScript 你想要它有多严格。但他们的目标是捕获尽可能多的错误,或者尽可能多的可能存在的错误。就像哦,这个值可能为空,所以最好检查一下这个值是否存在,或者它可能是未定义的。或者,在这个位置我不完全知道它是字符串还是数字,所以检查它是否是字符串类型,检查它是否是 ![]() 斯特凡:因此 TypeScript 了解更多,或者可以为您提供有关您正在处理的故障类别的更多信息。目前,TypeScript 的主要目标是捕获尽可能多的错误。因此,他们花了很多时间提供更多工具来声明类型,并声明严格的规则,以便您找出代码中是否存在任何从长远来看可能会出现问题的错误。 德鲁:所以,我的意思是,当我们谈论编程语言中的类型时,真正回到基础知识,显然 TypeScript 都是关于类型的,我们有严格类型语言和弱类型语言,而 JavaScript 是弱类型的,不是吗?当我们说某些东西是弱类型时,我们实际上是什么意思? 斯特凡:有弱类型,还有动态类型,这意味着您不必总是知道变量或常量的类型。所以,当你分配一个变量时,假设 var fu 或 let fu 带有一个数字,一旦你忘记了某些东西,交叉凭证说 fu 现在是数字类型,它是一个数字,我不能在上面进行数字操作它,就像加法、乘法、减法等等。如果你给它分配一个字符串,那么它就是一个字符串。 |
|