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

时间:2014-04-14 23:43:48

标签: comments typescript

TypeScript注释的语法是否记录在任何地方?

不管怎样,它现在是否支持C#///系统?

5 个答案:

答案 0 :(得分:151)

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;
}

答案 1 :(得分:53)

您可以使用以下方法添加有关参数,退货等的信息:

/**
* 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

答案 2 :(得分:26)

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

hereespecially here提供了对语法的良好概述。精确的规范should be "soon" written up

另一个值得签出的文件是this one,您会在其中看到有用的标准标记。

注意:您不应使用JSDoc,如TSDoc主页上所述:为什么JSDoc不能成为标准?不幸的是,没有严格指定JSDoc语法,而是根据特定实现的行为来推断。大多数标准JSDoc标记都专注于为纯JavaScript提供类型注释,这与诸如TypeScript之类的强类型语言无关。 TSDoc在解决这些局限性的同时,还解决了一套更为复杂的目标。

答案 3 :(得分:13)

您可以使用常规JavaScript中的评论:

  

TypeScript语法是Ecmascript 5(ES5)语法的超集。 [...]

     

本文档描述了TypeScript

添加的语法语法

除此之外,我只在语言规范中找到了关于评论的内容:

  

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

11.1.1源文件依赖项:

  

/// <reference path="..."/>形式的注释会增加对源文件的依赖性   在path参数中指定。相对于包含源文件的目录

解析路径

来源:
https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md

答案 4 :(得分:4)

TypeScript是JavaScript的严格语法超集,因此

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