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

问题描述 投票:119回答:5

TypeScript注释的语法是否记录在何处?

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

comments typescript
5个回答
27
投票

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

可以使用hereespecially here对语法进行了很好的概述。准确的规格should be "soon" written up

另一个值得一试的文件是this one,你会看到有用的标准标签。

注意:您不应该使用JSDoc,如TSDoc主页上所述:为什么JSDoc不能成为标准?不幸的是,JSDoc语法没有严格规定,而是从特定实现的行为推断出来。大多数标准JSDoc标记都专注于为纯JavaScript提供类型注释,这对于强类型语言(如TypeScript)而言是无关紧要的。 TSDoc解决了这些限制,同时也解决了一系列更复杂的目标。


151
投票

TypeScript使用JSDoc。例如

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

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

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

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

Example

只是一个例子。专注于类型(而不是内容)。

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

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


14
投票

您可以使用常规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
投票

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

  • 单行注释以//开头
  • 多行注释以/ *开头,以* /结尾
© www.soinside.com 2019 - 2024. All rights reserved.