jsrosetta

Cơ bản

Comment

Comment dòng (`//`) và khối (`/* */`) dùng chung một cú pháp ở cả năm ngôn ngữ — khác biệt duy nhất nằm ở quy ước viết doc comment.

Phiên bản tối thiểu
Node.js ≥ 12.20Go ≥ 1.0Rust ≥ 1.58Swift ≥ 5.1Java ≥ 25
Đã chạy thử trên
Node.js 24.12.0Go 1.27.1Rust 1.98.1Swift 6.2.4Java 25.0.4.1

Code Node.js là ES module: lưu file .mjs hoặc đặt "type": "module" trong package.json.

JavaScript, Go, Rust, Swift và Java dùng chung một cú pháp comment: // cho một dòng, /* ... */ cho một khối nhiều dòng (Rust và Swift còn cho phép lồng comment khối, khác với JS/Go/Java). Không có gì lạ để học ở đây — khác biệt thật sự chỉ lộ ra khi comment đứng ngay trước một khai báo và trở thành doc comment: JSDoc ở Node.js, godoc ở Go, rustdoc ở Rust, doc comment ở Swift, Javadoc ở Java.

Comment dòng và khối

// đây là một comment dòng
 
/*
 đây là một comment khối
*/

Doc comment: JSDoc, godoc, rustdoc, Swift, Javadoc

/**
 * Trả về lời chào cho một cái tên.
 * @param {string} name
 * @returns {string}
 */
function greet(name) {
  return `Hello, ${name}!`
}
 
console.log(greet('Go')) // Hello, Go!

Doc comment ở Go phải bắt đầu bằng đúng tên định danh nó mô tả (Greet returns...) để go doc/godoc và các IDE nhận diện đúng; JSDoc dùng khối /** ... */ với tag @param/@returns để công cụ như VS Code hay TypeScript suy luận kiểu và hiện gợi ý. rustdoc (///) không bắt buộc phải bắt đầu bằng tên hàm như Go, và render Markdown thật sự (kể cả doctest có thể chạy được). Swift dùng /// với các marker - Parameter/- Returns để Xcode/DocC hiển thị Quick Help. Javadoc dùng /** ... */ với tag @param/@return, kể cả với các phương thức top-level trong compact source file của Java 25.

Tham khảo: github.com/miguelmota/golang-for-nodejs-developers#comments