02- 类型声明文件 .d.ts

245 阅读1分钟

类型声明文件 .d.ts

用来为已存在的JS库提供类型信息

  • 只包含类型信息的声明文件
  • 不会生成.js文件

1. 内置类型声明文件

TS为JS运行时可用的所有标准化内置API 都提供了声明文件

比如数组的一些API

2. 第三方库类型声明文件

1. 库自带类型声明文件

package.json文件中指定加载那个类型文件

{
  "typings":"./index.d.ts"
}

2. 由DefinitelyTyped提供

官网:github.com/DefinitelyT…

npm i --save-dev @types/node

为已有的JS文件提供类型声明

www.typescriptlang.org/docs/handbo…

编写类型声明文件说明

  1. 将JS项目迁移到TS项目时,为了让已有的.js文件有类型声明。
  2. 成为库作者,创建库给其他人使用

开始为js文件提供类型声明

declare 关键字:用于类型声明,为其他地方已存在的变量声明类型,而不是创建一个新变量

对于 type interface 明确就是TS类型的 , 可以省略declare 关键字

名字一样的话 不需要导入

util.js
let count = 10

let position = {
  x:0,
  y:0
}

function add(x) {
  return x
}

const fomartPoint = point => {
  console.log('当前坐标',point)
}
util.d.ts
// 为utils.js文件提供类型声明
declare let count:number

interface Point {
  x:number
  y:number
}
declare let position: Point
declare function add(x:number):number

type FormartPoint = (point:Point) => void
declare const fomartPoint: FormartPoint

// 使用 模块化方案 中提供的模块化语法 来导出声明好的类型
export {count,position,add,fomartPoint}