Dove è documentata la sintassi per i commenti TypeScript?


166

La sintassi dei commenti TypeScript è documentata ovunque?

E per caso, ora supporta il ///sistema C # ?

Risposte:


61

La sintassi corretta è ora quella utilizzata da TSDoc . Ti consentirà di comprendere i tuoi commenti tramite Visual Studio Code o altri strumenti di documentazione.

Una buona panoramica della sintassi è disponibile qui e soprattutto qui . Le specifiche precise dovrebbero essere "presto" redatte .

Un altro file che vale la pena dare un'occhiata è questo in cui vedrai utili tag standard.

Nota : non dovresti usare JSDoc, come spiegato nella pagina principale di TSDoc: Perché JSDoc non può essere lo standard? Sfortunatamente, la grammatica di JSDoc non è specificata rigorosamente, ma piuttosto dedotta dal comportamento di una particolare implementazione. La maggior parte dei tag JSDoc standard si preoccupa di fornire annotazioni di tipo per JavaScript semplice, il che è una preoccupazione irrilevante per un linguaggio fortemente tipizzato come TypeScript. TSDoc affronta queste limitazioni affrontando al contempo una serie di obiettivi più sofisticati.


177

Futuro

Il team di TypeScript e altri team coinvolti di TypeScript hanno in programma di creare una specifica TSDoc formale standard. La 1.0.0bozza non è stata ancora finalizzata: https://github.com/Microsoft/tsdoc#where-are-we-on-the-roadmap

inserisci qui la descrizione dell'immagine

attuale

TypeScript utilizza JSDoc. per esempio

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

Per imparare jsdoc: https://jsdoc.app/

dimostrazione

Ma non è necessario utilizzare le estensioni di annotazione del tipo in JSDoc.

Puoi (e dovresti) usare ancora altri tag di blocco jsdoc come @returnsecc.

Esempio

Solo un esempio Concentrati sui tipi (non sul contenuto).

Versione JSDoc (tipi di avviso nei documenti):

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

Versione TypeScript (notare la nuova posizione dei tipi):

/**
 * 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
Come dice Bas! Per un buon esempio di utilizzo dai un'occhiata a jQuery.d.ts di DefinitelyTyped
John Reilly,

1
che ovviamente è stato creato da @JohnnyReilly! :) github.com/borisyankov/DefinitelyTyped/blame/master/jquery/…
basarat

14
Questa non è una buona "migliore risposta" in quanto non spiega parametri, proprietà e valori di ritorno.
Piranha,


5
Questo non è più aggiornato. Vedi la risposta aggiornata di seguito.
Qortex

59

Puoi aggiungere informazioni su parametri, ritorni, ecc. Anche 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()
}

Ciò farà sì che editor come VS Code lo visualizzino come segue:

inserisci qui la descrizione dell'immagine


1
Conosci il tasto di scelta rapida per questo in VSCODE
jet_choong

3
Se inizi a digitare, /**premi tabsu una riga sopra la funzione, vs-code ti aiuta a compilare il commento JSDoc con i parametri
Sharpiro,

14

Puoi usare commenti come nel normale JavaScript:

La sintassi TypeScript è un superset della sintassi Ecmascript 5 (ES5). [...]

Questo documento descrive la grammatica sintattica aggiunta da TypeScript

A parte questo, ho trovato questo solo sui commenti nelle specifiche della lingua:

TypeScript fornisce inoltre ai programmatori JavaScript un sistema di annotazioni di tipo opzionali . Queste annotazioni di tipo sono come i commenti JSDoc trovati nel sistema di chiusura, ma in TypeScript sono integrati direttamente nella sintassi del linguaggio. Questa integrazione rende il codice più leggibile e riduce i costi di manutenzione della sincronizzazione delle annotazioni dei tipi con le variabili corrispondenti.

11.1.1 Dipendenze dei file di origine:

Un commento del modulo /// <reference path="..."/>aggiunge una dipendenza dal file di origine specificato nell'argomento path. Il percorso viene risolto rispetto alla directory del file sorgente contenente

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


Il link di origine è interrotto.
Pavlo,

1
Sostituito con un collegamento alla fonte delle specifiche su GitHub. Disponibile anche come documento Word e PDF: github.com/Microsoft/TypeScript/tree/master/doc
CodeManX

3

TypeScript è quindi un superset sintattico rigoroso di JavaScript

  • I commenti a riga singola iniziano con //
  • I commenti su più righe iniziano con / * e terminano con * /
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.