类型声明文件 .d.ts
用来为已存在的JS库提供类型信息
- 只包含类型信息的声明文件
- 不会生成.js文件
1. 内置类型声明文件
TS为JS运行时可用的所有标准化内置API 都提供了声明文件
比如数组的一些API
2. 第三方库类型声明文件
1. 库自带类型声明文件
在package.json文件中指定加载那个类型文件
{
"typings":"./index.d.ts"
}
2. 由DefinitelyTyped提供
npm i --save-dev @types/node
为已有的JS文件提供类型声明
www.typescriptlang.org/docs/handbo…
编写类型声明文件说明
- 将JS项目迁移到TS项目时,为了让已有的.js文件有类型声明。
- 成为库作者,创建库给其他人使用
开始为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}