当前位置: 首页 > 知识库问答 >
问题:

javascript - 为何需要.d.ts 文件呢?是指的方便以后ts代码调用吗?

翁和颂
2023-06-02

我们知道很多时候,看到一些打包工具,或者转换ts为js的工具:

【转换前】

MyFile.ts

const num = 1;

【转换后】
转为:
MyFile.js

var num = 1;

MyFile.d.ts

declare const num = 1;

我们看到有时候是有 .d.ts 文件,内有 declare 声明语句。

请问下,
1、转为js文件的目的是什么呢?(压缩大小吗、打包成库吗?)
2、为何需要.d.ts 文件呢?是指的方便以后ts代码调用吗?如果是,也就是说,ts可以直接调用js代码是吗?

共有1个答案

楮庆
2023-06-02

必须转成JavaScript,是因为浏览器只能执行JavaScript,不能执行TypeScript

.d.ts 文件主要用于定义 JavaScript 代码库的类型信息,目的是为方便 TypeScript 代码调用此 JavaScript 库而提供类型检查和自动补全。在 TypeScript 中,可以直接引入 JavaScript 模块,并在 TypeScript 代码中调用该模块中的函数和变量。但是,JavaScript 是弱类型语言,没有强制类型检查机制,这会引发很多潜在的类型错误。通过使用 .d.ts 文件来为 JavaScript 代码库提供类型声明,TypeScript 可以在编译时进行类型检查,避免一些常见的类型错误。

需要注意的是,TypeScript 可以直接调用 JavaScript 代码,并不需要进行任何转换或形式上的“继承”,因为 TypeScript 的语法基本上是 JavaScript 的超集,而且最终还是会被编译成 JavaScript 代码运行。因此,在导入 JavaScript 模块时,可以直接使用 import 语句,无需对 JavaScript 代码进行修改。

 类似资料:
  • 我正在查看的源代码,在api文件夹中有一个文件,内容如下: 我听说这个文件是打字稿类型定义。这是什么?为什么需要它?

  • 我们经常在node三方库可以看到.d.ts文件,功能是: .d.ts文件主要专注于描述库的类型信息,包括函数、类、变量等的类型定义。 它提供了关于库的接口和结构的类型层面的描述,以便 TypeScript 编译器在编译时进行类型检查,并为开发者在编写代码时提供智能提示和自动补全。 请问,此文件是否可以当做此库的API文档使用呢?

  • 这里 on 属性仍然是必填的? 如何修改才能在 customizeEmitsType 里面没有对应属性时不用填呢?

  • 定义全局变量的时候,需要用到.d.ts文件吗? 我有一个全局变量文件: global/global.ts 在使用的时候: test.ts 是可以不用到 prisma.d.ts 文件去declare声明变量prisma的。 请问为何很多地方说声明全局变量要使用到.d.ts文件呢?

  • 本文向大家介绍仅需几行代码实现方便易用的状态栏指示器,包括了仅需几行代码实现方便易用的状态栏指示器的使用技巧和注意事项,需要的朋友参考一下 我们在使用微博的时候经常会遇到状态指示器,想知道它是怎么做的吗?本篇文章就是通过几行代码实现方便易用的状态栏指示器。 微博项目的微博数提醒框 加载成功 设置提醒框的背景颜色   正在加载中 并设置提醒框的背景颜色 实现的效果是不是很有趣,以上就是实现状态指示器

  • Prism.js 可以做到代码的高亮,和行号的展示: 请问是否可以做到代码的折叠呢?