TypeScript注释的语法记录在哪里?

TypeScript注释的语法有文档吗?

它现在是否支持c# ///系统?

234432 次浏览

你可以像在常规JavaScript中那样使用注释:

1简介

[…TypeScript语法是ECMAScript 2015 (ES2015)语法的超集。

2基本概念 .

[…本文描述了TypeScript添加的语法[…]

来源:TypeScript语言规范


只有两次提到“评论”这个词;在规范中有:

1简介

[…TypeScript还为JavaScript程序员提供了一个可选的类型注解系统。这些类型注释类似于Closure系统中的JSDoc注释,但在TypeScript中,它们直接集成到语言语法中。这种集成使代码更具可读性,并降低了同步类型注释与其对应变量的维护成本。

11.1.1源文件的依赖关系 .

< p >[…/// <reference path="..."/>形式的注释在源文件上添加了一个依赖项 在path参数中指定。路径是相对于包含源文件的目录进行解析的

当前的

TypeScript团队和其他涉及TypeScript的团队创建了一个TSDoc规范。https://tsdoc.org/

来自文档的例子:

export class Statistics {
/**
* Returns the average of two numbers.
*
* @remarks
* This method is part of the {@link core-library#Statistics | Statistics subsystem}.
*
* @param x - The first input number
* @param y - The second input number
* @returns The arithmetic mean of `x` and `y`
*
* @beta
*/
public static getAverage(x: number, y: number): number {
return (x + y) / 2.0;
}
}

过去的

TypeScript使用JSDoc。如。

/** This is a description of the foo function. */
function foo() {
}

学习jsdoc: https://jsdoc.app/

Demo

但是您不需要在JSDoc中使用类型注释扩展。

你仍然可以(而且应该)使用其他jsdoc 块标记,比如@returns等。

举个例子。关注类型(而不是内容)。

JSDoc版本(注意文档中的类型):

/**
* Returns the sum of a and b
* @param {number} a
* @param {number} b
* @returns {number}
*/
function sum(a, b) {
return a + b;
}

TypeScript版本(注意类型的重新定位):

/**
* Takes two numbers and returns their sum
* @param a first input to sum
* @param b second input to sum
* @returns sum of a and b
*/
function sum(a: number, b: number): number {
return a + b;
}

TypeScript是JavaScript严格的语法超集

  • 单行注释以//开头
  • 多行注释以/*开始,以*/结束

你可以添加参数,返回信息等,以及使用:

/**
* This is the foo function
* @param bar This is the bar parameter
* @returns returns a string version of bar
*/
function foo(bar: number): string {
return bar.toString()
}

这将导致像VS Code这样的编辑器显示如下:

enter image description here

2020年11月更新

一个网站现在上线了,所有的TSDoc语法都可用(这太棒了):https://tsdoc.org/


作为参考,旧答案:

正确的语法现在是TSDoc使用的语法。它将允许Visual Studio Code或其他文档工具理解您的注释。

在这里特别是在这里可以很好地概述语法。精确规格应该是“soon”;写出来

另一个值得查看的文件是这一个,在那里你会看到有用的标准标记。

请注意:你不应该使用JSDoc,正如TSDoc主页上解释的那样