Đâu là cú pháp cho các bình luận TypeScript được ghi lại?


165

Là cú pháp cho các bình luận TypeScript được ghi lại ở bất cứ đâu?

Và có khi nào, nó có hỗ trợ ///hệ thống C # không?

Câu trả lời:


61

Cú pháp đúng bây giờ là cú pháp được sử dụng bởi TSDoc . Nó sẽ cho phép bạn hiểu ý kiến ​​của mình bằng Visual Studio Code hoặc các công cụ tài liệu khác.

Một tổng quan tốt về cú pháp có sẵn ở đâyđặc biệt là ở đây . Thông số kỹ thuật chính xác nên được "sớm" viết lên .

Một tệp khác đáng để kiểm tra là tệp này nơi bạn sẽ thấy các thẻ tiêu chuẩn hữu ích.

Lưu ý : bạn không nên sử dụng JSDoc, như được giải thích trên trang chính TSDoc: Tại sao JSDoc không thể là tiêu chuẩn? Thật không may, ngữ pháp JSDoc không được chỉ định chặt chẽ mà chỉ được suy ra từ hành vi của một triển khai cụ thể. Phần lớn các thẻ JSDoc tiêu chuẩn được bận tâm với việc cung cấp các chú thích loại cho JavaScript đơn giản, đây là mối quan tâm không liên quan đến một ngôn ngữ được gõ mạnh như TypeScript. TSDoc giải quyết những hạn chế này đồng thời giải quyết một loạt các mục tiêu tinh vi hơn.


177

Tương lai

Nhóm TypeScript và các nhóm liên quan đến TypeScript khác có kế hoạch tạo ra một đặc tả TSDoc chính thức tiêu chuẩn. Các 1.0.0dự thảo chưa được hoàn thiện nào: https://github.com/Microsoft/tsdoc#where-are-we-on-the-roadmap

nhập mô tả hình ảnh ở đây

Hiện hành

TypeScript sử dụng JSDoc. ví dụ

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

Để tìm hiểu jsdoc: https://jsdoc.app/

Bản giới thiệu

Nhưng bạn không cần sử dụng các tiện ích mở rộng chú thích loại trong JSDoc.

Bạn có thể (và nên) vẫn sử dụng các thẻ khối jsdoc khác như @returnsv.v.

Thí dụ

Chỉ là một ví dụ. Tập trung vào các loại (không phải nội dung).

Phiên bản JSDoc (các loại thông báo trong tài liệu):

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

Phiên bản TypeScript (chú ý vị trí lại của các loại):

/**
 * 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
Như Bas nói! Để có một ví dụ điển hình về việc sử dụng, hãy xem jQuery.d.ts của DefiniteTyped
John Reilly

1
Tất nhiên là có jsdoc'ed bởi @JohnnyReilly! :) github.com/borisyankov/DefiniteTyped/blame/master/jquery/iêu
basarat

14
Đây không phải là một "câu trả lời tốt nhất" vì nó không giải thích các tham số, thuộc tính và giá trị trả về.
Piranha ngày


5
Điều này không còn được cập nhật. Xem câu trả lời cập nhật dưới đây.
Qortex

59

Bạn cũng có thể thêm thông tin về các tham số, trả về, v.v. bằng cách sử dụng:

/**
* 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()
}

Điều này sẽ khiến các trình soạn thảo như VS Code hiển thị nó như sau:

nhập mô tả hình ảnh ở đây


1
Bạn có biết phím tắt cho cái này trong VSCODE
jet_choong

3
Nếu bạn bắt đầu nhập /**rồi nhấn tabvào một dòng phía trên hàm, vs-code sẽ hỗ trợ bạn điền vào nhận xét JSDoc với các tham số
Sharpiro

14

Bạn có thể sử dụng các nhận xét như trong JavaScript thông thường:

Cú pháp TypeScript là siêu bộ của cú pháp Ecmascript 5 (ES5). [...]

Tài liệu này mô tả ngữ pháp cú pháp được thêm bởi TypeScript

Ngoài ra, tôi chỉ tìm thấy điều này về các bình luận trong thông số kỹ thuật ngôn ngữ:

TypeScript cũng cung cấp cho các lập trình viên JavaScript một hệ thống các chú thích loại tùy chọn . Các chú thích kiểu này giống như các chú thích JSDoc được tìm thấy trong hệ thống Đóng, nhưng trong TypeScript, chúng được tích hợp trực tiếp vào cú pháp ngôn ngữ. Việc tích hợp này làm cho mã dễ đọc hơn và giảm chi phí bảo trì đồng bộ hóa các chú thích loại với các biến tương ứng của chúng.

11.1.1 Phụ thuộc tệp nguồn:

Một nhận xét của biểu mẫu /// <reference path="..."/>thêm một phụ thuộc vào tệp nguồn được chỉ định trong đối số đường dẫn. Đường dẫn được giải quyết liên quan đến thư mục của tệp nguồn chứa

Nguồn:
https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md


Liên kết nguồn bị hỏng.
Pavlo

1
Thay thế nó bằng một liên kết đến nguồn thông số kỹ thuật trên GitHub. Cũng có sẵn dưới dạng tài liệu Word và PDF: github.com/Microsoft/TypeScript/tree/master/doc
CodeManX

3

TypeScript là một siêu bộ cú pháp cú pháp chặt chẽ do đó

  • Nhận xét dòng đơn bắt đầu bằng //
  • Nhận xét nhiều dòng bắt đầu bằng / * và kết thúc bằng * /
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.