A sintaxe dos comentários do TypeScript está documentada em algum lugar?
E, por acaso, agora ele suporta o ///
sistema C # ?
A sintaxe dos comentários do TypeScript está documentada em algum lugar?
E, por acaso, agora ele suporta o ///
sistema C # ?
Respostas:
A sintaxe correta agora é a usada pelo TSDoc . Isso permitirá que seus comentários sejam entendidos pelo Código do Visual Studio ou outras ferramentas de documentação.
Uma boa visão geral da sintaxe está disponível aqui e especialmente aqui . A especificação precisa deve ser "em breve" escrita .
Outro arquivo que vale a pena conferir é este, onde você verá tags padrão úteis.
Nota : você não deve usar o JSDoc, conforme explicado na página principal do TSDoc: Por que o JSDoc não pode ser o padrão? Infelizmente, a gramática JSDoc não é rigorosamente especificada, mas inferida do comportamento de uma implementação específica. A maioria das tags JSDoc padrão está preocupada em fornecer anotações de tipo para JavaScript simples, o que é uma preocupação irrelevante para uma linguagem fortemente tipada como o TypeScript. O TSDoc aborda essas limitações enquanto também aborda um conjunto de objetivos mais sofisticados.
A equipe do TypeScript e outras equipes envolvidas do TypeScript planejam criar uma especificação formal padrão do TSDoc. O 1.0.0
rascunho ainda não foi finalizado: https://github.com/Microsoft/tsdoc#where-are-we-on-the-roadmap
TypeScript usa JSDoc. por exemplo
/** This is a description of the foo function. */
function foo() {
}
Para aprender jsdoc: https://jsdoc.app/
Mas você não precisa usar as extensões de anotação de tipo no JSDoc.
Você pode (e deve) ainda usar outras tags de bloco jsdoc como @returns
etc.
Apenas um exemplo. Concentre-se nos tipos (não no conteúdo).
Versão JSDoc (tipos de aviso nos documentos):
/**
* Returns the sum of a and b
* @param {number} a
* @param {number} b
* @returns {number}
*/
function sum(a, b) {
return a + b;
}
Versão TypeScript (observe a nova localização dos tipos):
/**
* 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;
}
Você pode adicionar informações sobre parâmetros, retornos etc., também usando:
/**
* 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()
}
Isso fará com que editores como o VS Code o exibam da seguinte maneira:
/**
, em seguida, prima tab
em uma linha acima da função, vs-code auxilia-lo a preencher o comentário JSDoc com parâmetros
Você pode usar comentários como no JavaScript comum:
A sintaxe do TypeScript é um superconjunto da sintaxe do Ecmascript 5 (ES5). [...]
Este documento descreve a gramática sintática adicionada pelo TypeScript
Fora isso, eu só achei isso sobre comentários nas especificações de idioma:
O TypeScript também fornece aos programadores de JavaScript um sistema de anotações de tipo opcionais . Essas anotações de tipo são como os comentários JSDoc encontrados no sistema Closure, mas no TypeScript eles são integrados diretamente à sintaxe da linguagem. Essa integração torna o código mais legível e reduz o custo de manutenção da sincronização de anotações de tipo com suas variáveis correspondentes.
11.1.1 Dependências dos arquivos de origem:
Um comentário do formulário
/// <reference path="..."/>
adiciona uma dependência no arquivo de origem especificado no argumento path. O caminho é resolvido em relação ao diretório do arquivo de origem que contém
Fonte:
https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md
TypeScript é um superconjunto sintático estrito de JavaScript, portanto,