TypeScript里的.d.ts语法

简介: TypeScript里的.d.ts语法

image.png

https://www.typescriptlang.org/docs/handbook/declaration-files/templates/module-d-ts.html


相当于commonJS的module pattern.


回忆一下commonJS:

Node 应用由模块组成,采用 CommonJS 模块规范。


每个文件就是一个模块,有自己的作用域。在一个文件里面定义的变量、函数、类,都是私有的,对其他文件不可见。


// example.js

var x = 5;

var addX = function (value) {

 return value + x;

};

1

2

3

4

5

上面代码中,变量x和函数addX,是当前文件example.js私有的,其他文件不可见。


如果想在多个文件分享变量,必须定义为global对象的属性。


global.warning = true;

上面代码的warning变量,可以被所有文件读取。当然,这样写法是不推荐的。


CommonJS规范规定,每个模块内部,module变量代表当前模块。这个变量是一个对象,它的exports属性(即module.exports)是对外的接口。加载某个模块,其实是加载该模块的module.exports属性。


var x = 5;

var addX = function (value) {

 return value + x;

};

module.exports.x = x;

module.exports.addX = addX;

1

2

3

4

5

6

上面代码通过module.exports输出变量x和函数addX。


因此,采用commonJS规范书写的JavaScript代码:


const maxInterval = 12;


function getArrayLength(arr) {

 return arr.length;

}


module.exports = {

 getArrayLength,

 maxInterval,

};

1

2

3

4

5

6

7

8

9

10

使用TypeScript .d.ts写成:


export function getArrayLength(arr: any[]): number;

export const maxInterval: 12;

1

2

使用ES module书写的JavaScript代码:


export function getArrayLength(arr) {

 return arr.length;

}

1

2

3

对应的TypeScript:


export function getArrayLength(arr: any[]): number;


目录
相关文章
|
2月前
|
XML JavaScript 前端开发
TypeScript 中的“as”语法是什么?
TypeScript 中的“as”语法是什么?
|
2月前
|
JavaScript 前端开发 开发者
深入理解ArkTS:Harmony OS 应用开发语言 TypeScript 的基础语法和关键特性
深入理解ArkTS:Harmony OS 应用开发语言 TypeScript 的基础语法和关键特性
49 0
|
4月前
|
JavaScript
详细介绍 TypeScript 中常用的循环语句,包括它们的语法、用法以及一些注意事项
详细介绍 TypeScript 中常用的循环语句,包括它们的语法、用法以及一些注意事项
59 1
|
3月前
|
JavaScript 前端开发 IDE
【TypeScript】带类型语法的JavaScript
【1月更文挑战第26天】【TypeScript】带类型语法的JavaScript
|
3月前
|
JavaScript 前端开发 开发工具
TypeScript:为JavaScript增加语法和解决问题的利器
TypeScript:为JavaScript增加语法和解决问题的利器
21 0
|
3月前
|
JavaScript 前端开发 程序员
TypeScript 类型体操,无非是语法过度嵌套而已
TypeScript 类型体操,无非是语法过度嵌套而已
|
4月前
|
JavaScript 前端开发 安全
TypeScript 基础语法是什么样的?
TypeScript 基础语法是什么样的?
54 1
|
4月前
|
JavaScript 前端开发 编译器
TypeScript 中的变量声明:变量声明的语法、变量的作用域、变量的类型推断和类型断言
TypeScript 中的变量声明:变量声明的语法、变量的作用域、变量的类型推断和类型断言
37 1
|
4月前
|
JavaScript 编译器 开发者
TypeScript中的“as”语法是什么?
TypeScript中的“as”语法是什么?
34 0
|
4月前
|
JavaScript
TypeScript 基础语法入门(下)
TypeScript 基础语法入门
57 0