JSDoc Support
TypeScript memiliki banyak dukungan untuk JSDoc. Bahkan
Anda dapat membuat berkas JavaScript biasa dan menggunakan
anotasi JSDoc untuk membuat lingkungan pengembangan yang
kaya dukungan.
Sebuah komentar JSDoc merupakan sebuah komentar lebih dari
satu baris yang dimulai dengan dua buah bintang, kontras
dengan komentar biasa yang dimulai dengan satu bintang.
/* Ini adalah komentar biasa */
/** Ini adalah komentar JSDoc */
// Komentar JSDoc akan terhubung dengan kode JavaScript
terdekat yang ada di bawah komentar tersebut.
const contohVariabel = "Hai";
// Apabila Anda menyorot `contohVariabel`, Anda dapat melihat
bahwa teks yang ada dalam JSDoc diikutsertakan.
Komentar JSDoc merupakan sebuah cara untuk memberikan informasi
mengenai tipe data pada TypeScript dan editor Anda. Mari kita
mulai dengan menyetel sebuah tipe data dari variabel menjadi
tipe data bawaan.
Pada seluruh contoh di bawah ini, Anda dapat menyorot nama
variabel dan pada baris selanjutnya, coba ketik [example].
untuk melihat opsi penyelesaian otomatis.
/** @type {number} */
var bilanganKu;
// Anda dapat melihat seluruh _tag_ yang didukung pada buku
pegangan berikut:
https://www.typescriptlang.org/docs/handbook/type-checking-javascript-files.html#supported-jsdoc
Namun, kita akan mencoba beberapa contoh umum berikut ini. Anda
juga dapat menyalin dan menempel setiap contoh dari buku panduan
kesini.
Mengimpor tipe data dari berkas konfigurasi JavaScript:
/** @type { import("webpack").Config } */
const config = {};
// Membuat tipe data yang kompleks yang dapat digunakan
kembali di banyak tempat:
/**
* @typedef {Object} Pengguna - Akun pengguna
* @property {string} nama - nama yang digunakan untuk menunjukkan pengguna
* @property {number} id - sebuah ID yang unik
*/
// Kemudian, Anda dapat menggunakannya sebagai nama pada `typedef`:
/** @type { Pengguna } */
const pengguna = {};
// Berikut merupakan cara untuk menyingkat definisi
tipe data pada TypeScript, yang kemudian dapat Anda
gunakan pada `type` dan `typedef`:
/** @type {{ owner: Pengguna, nama: string }} */
const sumberDaya;
/** @typedef {{owner: Pengguna, nama: string}} SumberDaya */
/** @type {SumberDaya} */
const sumberDayaLain;
// Mendeklarasikan fungsi yang memiliki tipe data:
/**
* Menjumlahkan dua buah bilangan
* @param {number} a Bilangan pertama
* @param {number} b Bilangan kedua
* @returns {number}
*/
function jumlahDuaBilangan(a, b) {
return a + b;
}
// Anda dapat menggunakan perkakas tipe data TypeScript,
seperti `union`:
/** @type {(string | boolean)} */
let stringAtauBoolean = "";
stringAtauBoolean = false;
// Menambahkan dokumentasi pada objek global menggunakan JSDoc
merupakan proses yang lebih melibatkan VS Code, yang dapat
Anda lihat melalui dokumentasi VS Code berikut:
https://code.visualstudio.com/docs/nodejs/working-with-javascript#_global-variables-and-type-checking
Menambahkan komentaar JSDoc pada fungsi yang Anda buat
merupakan solusi yang menguntungkan; Anda mendapat
dukungan perkakas yang lebih baik dan pengguna API
Anda juga dapat menikmatinya.