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.
// Komentar JSDoc akan terhubung dengan kode JavaScript
terdekat yang ada di bawah komentar tersebut.
/* Ini adalah komentar biasa */
/** Ini adalah komentar JSDoc */
// 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.
const contohVariabel = "Hai";
// 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 {number} */
var bilanganKu;
// Membuat tipe data yang kompleks yang dapat digunakan
kembali di banyak tempat:
/** @type { import("webpack").Config } */
const config = {};
// Berikut merupakan cara untuk menyingkat definisi
tipe data pada TypeScript, yang kemudian dapat Anda
gunakan pada `type` dan `typedef`:
/**
* @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 = {};
// Anda dapat menggunakan perkakas tipe data TypeScript,
seperti `union`:
/** @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;
}
// 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.
/** @type {(string | boolean)} */
let stringAtauBoolean = "";
stringAtauBoolean = false;