一、声明文件的作用
在ts文件中引入js文件,由于js代码中没有类型约束,所以ts无法获得js代码的类型信息,进而会隐式推断js中类型为any,失去了ts代码类型推断和约束的作用,声明文件就是将一个js模块中所有对外暴露的变量、函数、类使用ts语法进行类型声明,进而让ts编译器在检测到该声明文件之后(只要被检测到写在哪都可以)就可以获取js文件中对应变量、函数、类的类型信息
二、声明文件的写法
/*test.js*/
//导出变量
export const test1 = '变量'
//导出函数
export function test2(name){
return name
}
//导出类
export class Test3{
name='类'
constructor(){
console.log(this.name);
}
}
/*test.d.ts*/
//声明模块(被匹配的文件都属于该模块)
declare module '*/test.js'{
//声明变量类型
export const test1:string
//声明函数类型
export function test2(name:string):string
//声明class接口
interface Tests{
name:string
//new()代表构造函数
new():Tests
}
//声明class类型
export const Test:Tests;
}
/*test.ts*/
import { test1,test2,Test } from './test.js'
console.log(test1);
console.log(test2('函数'));
new Test()
三、声明文件的配置
声明文件必须被ts检索到,如果声明文件不生效需要到tsconfig.json文件中添加
{
"include": ["*/*.ts"] //需要检索的文件位置
}
详细内容:
介绍 · 声明文件 · TypeScript中文网 · TypeScript——JavaScript的超集
原文地址:https://blog.csdn.net/z1625000762/article/details/127346324
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_49110.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。