首页 > 解决方案 > 打字稿 - 概念问题

问题描述

编辑

这个问题没有回答我的问题。我不是在问 TS 是什么,也不是在问它的用途。我正在询问有关它的具体问题。我想澄清一些概念。

我不相信这是重复的。有人很友好地回答了我的简单是/否问题。

我指出了一个特定的 TS 概念,我有一个关于指向我当前正在使用的示例的问题。我特别想知道是否需要在示例中的某处添加关键字字符串。

另外,除了转译器的东西,我只是问我在 TS 中部署应用程序所采取的所有步骤是否与使用常规 JS 完成的步骤相似。

编辑结束

如果适用,我只想对这些问题简单的是/否。任何关于答案的解释都取决于你。是/否答案将帮助我弄清楚如何编写这个应用程序。

对于 Typescript(TS),如果我们同意它的一方面是几乎所有有效的 Javascript(JS) 也是有效的 TS。

例子:

const [toggle, setToggle] = useState('');

是否需要以任何方式更改以符合 TS 约定/规则?我觉得我必须以string某种方式用那个 useState 来定义。

此外,除了转译器的使用和安装的所有依赖项之外,这是否与我在 JS 中用于部署的过程相同?例如,我是否需要担心 TS 独有的任何其他可能阻止我正常部署的事情?

标签: javascripttypescriptstatic-typing

解决方案


...如果我们同意它的一个方面是几乎所有有效的 Javascript(JS) 也是有效的 TS

如果我将其改写为“我可以简单地将文件扩展名从 .js 更改为 .ts 并且它将始终在默认设置下编译”,答案是肯定的。

但是,根据您的 tsconfig.json 的设置,它可能不起作用。如果 examplenoImplicitAny设置为 true,那么即使是简单的事情function f(x) {}也会失败;您必须指定x.

除了转译器的使用和安装的所有依赖项之外,这是否与我在 JS 中用于部署的过程相同?

简短的回答是肯定的,但在你的问题中这是一个很大的“补充”。很多事情在转译之前都会出错,比如选择了错误的模块选项、不完整的定义文件、不反映实际用例的类型使用等等。但是把所有这些都放在一边,转译后你会得到一个正常的 JavaScript 文件,所以部署不能有任何不同。


推荐阅读