Menurut wiki JSDoc untuk @param Anda dapat menunjukkan bahwa @param bersifat opsional
/**
@param {String} [name]
*/
function getPerson(name) {
}
dan Anda dapat menunjukkan parameter sebaris menggunakan
function getPerson(/**String*/ name) {
}
Dan saya bisa menggabungkannya seperti berikut, yang berfungsi dengan baik.
/**
@param [name]
*/
function getPerson(/**String*/name) {
}
Tapi saya ingin tahu apakah ada cara untuk melakukan semuanya secara inline jika memungkinkan.
javascript
google-closure-compiler
jsdoc
studgeek
sumber
sumber
Setelah beberapa penggalian, saya menemukan ini baik-baik saja
Sedikit lebih menarik secara visual daripada
function test(/**String=*/arg) {}
sumber
Saya menemukan cara untuk melakukan ini menggunakan ekspresi jenis Google Closure Compiler . Anda memberi tanda sama dengan setelah tipe seperti ini:
function test(/**String=*/arg) {}
sumber
Jika Anda menggunakan komentar tipe sebaris pada argumen fungsi dan bertanya-tanya bagaimana cara menandai argumen fungsi sebagai opsional dalam notasi itu, saya menemukan bahwa hanya menetapkan nilai default ke argumen opsional berhasil. Jika Anda ingin default menjadi,
undefined
Anda harus mengaturnya secara eksplisit juga, jika tidak, argumen tidak akan ditandai sebagai opsional (bahkan jika didahului oleh argumen opsional):Jika Anda mengarahkan kursor ke
demo
IDE Anda, Anda akan melihat keduanyaoptional1
danoptional2
muncul sebagai opsional sekarang. Dalam VSCode yang ditunjukkan dengan?
nama argumen (notasi TypeScript). Jika Anda menghapus= undefined
darioptional2
Anda akan melihat hanyaoptional1
menjadi opsional yang tentu saja tidak masuk akal sehingga nilai default di sini harus eksplisit seperti yang saya singgung di paragraf di atas.sumber