全局变量和非全局变量

来源:2-14 声明文件 第一部分

守静笃

2023-03-12

请问老师jQuery是全局变量和axios是非全局变量是什么定义的呢?按照我的理解是js,因为要引入的是逻辑代码业务代码,而不是仅仅是类型定义。
这个问题应该很小白,请老师多多包涵
写回答

1回答

张轩

2023-03-13

同学你好

先要分清楚类型定义 和 代码实现(这是两个不同的概念)

当一些只有 js 实现的库被引入的时候,类型定义(d.ts)是帮助你在 ts 代码中获取类型帮助。

引入这些js 库也有两种方式,一种是很古早的全局引入一个 script 模式。

比如使用 jQuery,我们会引入这么一个 script

<script src="https://code.jquery.com/jquery-3.6.4.min.js" crossorigin="anonymous"></script>

这个时候你就可以在代码中直接使用 jQuery 了,但是 ts 还缺少定义,所以要安装定义文件。

第二种是现在的 javascript modules 的形式。在代码中直接引入使用

import axios from 'axios'

有的库有定义,有的没有,没有的就需要安装定义文件。

这就是区别了。当然同学可以继续看下一节课,一起看就更容易理解这个问题了。

0
0

React18+TS高仿AntD从零到一打造组件库

设计,开发,测试,发布再到 CI/CD,从0到1造轮子

2128 学习 · 959 问题

查看课程