美文网首页
TypeScript声明文件和关键字declare

TypeScript声明文件和关键字declare

作者: 奋斗_登 | 来源:发表于2023-04-06 17:55 被阅读0次

1. 外部声明

TypeScript语言主要有两种类型的源文件:

  • 文件扩展名为“.ts”或“.tsx”的文件。
  • 文件扩展名为“.d.ts”的文件。

“.ts”或“.tsx”文件中包含了应用的实现代码,它也是开发者日常编写的代码。“.ts”和“.tsx”文件中既可以包含类型声明又可以包含可执行代码。在编译TypeScript程序的过程中,“.ts”和“.tsx”文件会生成对应的“.js”和“.jsx”文件。值得一提的是,“.tsx”文件中包含了使用JSX语法编写的代码。JSX采用了类似于XML的语法,JSX因知名的React框架而流行,因为React框架推荐使用JSX来编写应用程序。
“.d.ts”文件是类型声明文件,其中字母“d”表示“declaration”,即声明的意思。“.d.ts”文件只提供类型声明,不提供任何值,如字符串和函数实现等。因此,在编译TypeScript程序的过程中,“.d.ts”文件不会生成对应的“.js”文件。

我们可以将“.d.ts”文件称作\color{green}{外部声明文件}或简称为\color{green}{声明文件}。声明文件中的内容是外部声明。外部声明用于为已有代码提供静态类型信息以供TypeScript编译器使用。例如,知名代码库jQuery的外部声明文件提供了jQuery API的类型信息。TypeScript编译器能够利用该类型信息进行代码静态类型检查以及代码自动补全等操作

外部声明也可以出现在“.ts”文件中,我们只需明确外部声明是类型声明而不是具体实现,外部声明在编译后不会输出任何可执行代码即可。

外部类型声明通过declare关键字来定义,包含外部变量声明、外部函数声明、外部类声明、外部枚举声明和外部命名空间声明。eg:

//外部变量声明
declare var a: boolean;
declare let b: boolean;
declare const c: boolean;
// 外部函数声明
declare function f(a: string, b: boolean): void;
// 外部枚举声明
declare enum Foo {
   A,
   B,
}
//外部模块声明的语法
declare module 'io' {
     export function readFile(filename: string): string;
}

2 . TypeScript语言内置的声明文件

当我们在计算机中安装了TypeScript语言后,同时也安装了一些语言内置的声明文件,它们位于TypeScript语言安装目录下的lib文件夹中(如目录:C:\Users\Administrator\AppData\Roaming\npm\node_modules\typescript\lib)。下面列举了部分内置的声明文件:

lib.d.ts
lib.dom.d.ts
lib.es2015.d.ts
lib.es2016.d.ts
lib.es2017.d.ts
lib.es2018.d.ts
lib.es2019.d.ts
lib.es2020.d.ts
lib.es5.d.ts
lib.es6.d.ts

TypeScript语言内置的声明文件统一使用“lib.[description].d.ts”命名方式,其中,description部分描述了该声明文件的内容。在这些声明文件中,既定义了标准的JavaScript API,如Array API、Math API以及Date API等,也定义了特定于某种JavaScript运行环境的API,如DOM API和Web Workers API等。

TypeScript编译器在编译代码时能够自动加载内置的声明文件。因此,我们可以在代码中直接使用那些标准API,而不需要进行特殊的配置。例如,我们可以在代码里直接使用标准的DOM方法,TypeScript能够从内置的声明文件“lib.dom.d.ts”中获取该方法的类型信息并进行类型检查。示例如下:

const button = document.getElementById('btn');

相关文章

  • Typescript 声明文件d.ts declare

    声明文件中,declare 表示声明的意思js原有类型必须加declare,js不存在的类型不用加,如:inter...

  • TS中给图片声明类型

    来看看ts中如何给图片等文件声明类型 用declare关键字来声明类型用module来告诉TS声明的是一个模块用*...

  • 定义变量

    语法: 注意:在declare关键字后可以连续声明多个变量

  • typescript两种声明文件的区别

    Typescript声明文件写法 Typescript的声明文件是一个.d.ts为后缀的Typescript代码文...

  • TS引用JS模块的声明方法编写格式

    为TypeScript引用的JS写声明文件 写TypeScript声明文件的时候会有三个困惑,一个是声明文件是什么...

  • php版本特性学习

    5.6->7.0变更新特性 强制标量声明:文件顶部添加(declare(ticks=1);),变量添加类型声明 返...

  • UE_LOG重新补充

    在.h文件声明DECLARE_LOG_CATEGORY_EXTERN(MyLog, Log, All);在.cpp...

  • TypeScript 声明文件

    JavaScript中一个库有很多使用方式,这就需要你书写声明文件去匹配它们。 这篇涵盖了如何识别常见库的模式,和...

  • declare命令

    declare命令: declare声明变量类型:declare[+/-][选项]变量名 选项: +:给变量设定类...

  • Objective-C编程语言_极客班

    .h文件:放类的声明,包括成员变量、属性和方法声明(事实上.h文件不参与编译过程);关键字@interface声明...

网友评论

      本文标题:TypeScript声明文件和关键字declare

      本文链接:https://www.haomeiwen.com/subject/adyuddtx.html