typescript怎么定义全局的函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了typescript怎么定义全局的函数相关的知识,希望对你有一定的参考价值。

第一步,双击打开HBuilderX编辑工具,新建TypeScript文件并定义类Apple,定义三个变量a、b、c,a是具体的数据类型,而b和c是可变的,如下图所示:

第二步,实例化对象ap,然后给变量a进行赋值,使用数值类型,如下图所示:

第三步,如果将数值类型改为字符串类型,运行TypeScript文件出现报错,如下图所示:

第四步,使用同样的方法,给变量b赋值20,接着赋值undefined,未出现报错,如下图所示:

第五步,再添加一个给变量b赋值,值为null,运行之后也不报错,如下图所示:

第六步,最后使用同样的方法,给变量c赋值,分别为数值类型、undefined和null,结果出现了报错,如下图所示:

参考技术A javascript中的函数:
/*普通函数*/
function add(x, y)
console.log(x + y);

add(1, 2);
/*匿名函数*/
var addFun = function (x, y)
console.log(x + y);
;
addFun(2, 3);

10
在TypeScript中,我们可以给函数指定类型,这样在编译阶段会规避很多错误.函数类型分为参数类型和返回值类型,如下代码所示,参数类型直接在参数后指定,返回值类型则在该函数后面指定。 TypeScript能够根据返回语句自动推断出返回值类型,因此我们通常省略它。本回答被提问者采纳

Typescript 中的“声明全局”是啥?

【中文标题】Typescript 中的“声明全局”是啥?【英文标题】:What is 'declare global' in Typescript?Typescript 中的“声明全局”是什么? 【发布时间】:2019-11-24 04:29:55 【问题描述】:

什么是“声明全局”,怎么可能?我在 Lodash 类型中找到了这段代码。问题是,当我尝试将其复制到 my.d.ts 文件中时,因为 global 不是命名空间、模块、函数或 var,我不允许这样做。所以问题是如何在 Typescript 中声明这个声明。

PS 那么也许有一些额外的编译器选项可以实现这一点?

declare global 
    interface Set<T>  

【问题讨论】:

【参考方案1】:

这不依赖于编译器设置。 declare global 在具有importexport 的文件中使用以在全局范围内声明事物。这在包含 importexport 的文件中是必需的,因为这些文件被视为模块,并且在模块中声明的任何内容都在模块范围内。

在不是模块的文件(即不包含import/export)中使用declare global 是错误的,因为这样的文件中的所有内容都在全局范围内。

【讨论】:

是的,这些原理我都是通过实践学会的,但是有官方文档解释吗? @JohnHou 目前有typescriptlang.org/docs/handbook/… 和typescriptlang.org/docs/handbook/declaration-files/templates/…

以上是关于typescript怎么定义全局的函数的主要内容,如果未能解决你的问题,请参考以下文章

如何修复 npm 无法全局安装 typescript 错误

如何在 Jest 的自定义测试环境文件中使用 TypeScript?

typescript 全局函数怎么使用?

我在工作中经常用到的6个TypeScript新特性

当没有要指定的确切值“未定义”或“空”时,为 TypeScript 可选参数传递啥? [复制]

为啥typescript不能直接引用第三方js库的全局变量?