Skip to content

docs(i18n-id): Provide Indonesian translation for JSDoc Improvement section #1201

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Oct 4, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
//// { compiler: { ts: "3.8.3" }, isJavaScript: true }
// @ts-check

// Dukungan JSDoc terhadap TypeScript telah diperluas untuk
// mendukung pengubah izin akses pada atribut kelas. Ada:
//
// @public - yang merupakan nilai anggapan.
// @private - atribut yang memiliki izin akses ini
// hanya dapat diakses pada kelas yang sama
// dimana atribut ini ditetapkan.
// @protected - atribut yang memiliki izin akses ini
// dapat diakses pada kelas dimana
// atribut ini ditetapkan dan kelas-kelas turunannya.

// Di bawah ini merupakan sebuah kelas dasar yang bernama Binatang,
// kelas ini memiliki sebuah atribut `private` dan `protected`.
// Kelas turunan dari Binatang dapat mengakses "this.cepat"
// tapi tidak bisa mengakses "this.tipe".

// Diluar kelas-kelas tersebut, kedua atribut tidak terlihat
// dan akan mengembalikan kesalahan kompilasi ketika // @ts-check
// diaktifkan.

class Binatang {
constructor(tipe) {
/** @private */
this.tipe = tipe
/** @protected */
this.cepat = tipe === 'citah'
}

bersuara() {
// Biasanya binatang ini jarang menimbulkan suara
if (this.tipe === 'bengal') {
console.log('')
} else {
throw new Error('bersuara dipanggil pada kelas dasar')
}
}
}

class Kucing extends Binatang {
constructor(type) {
super(type || 'kucing rumahan')
}

bersuara() {
console.log('meow')
}

lari() {
if (this.cepat) {
console.log('Berhasil menjauh')
} else {
console.log('Gagal menjauh')
}
}
}

class Citah extends Kucing {
constructor() {
super('citah')
}
}

class Bengal extends Kucing {
constructor() {
super('bengal')
}
}

const kucingRumahan = new Kucing()
kucingRumahan.bersuara()

// Atribut-atribut di bawah ini tidak tersedia
kucingRumahan.tipe
kucingRumahan.cepat

// Anda dapat mempelajari lebih lanjut melalui
// https://devblogs.microsoft.com/typescript/announcing-typescript-3-8-beta/#jsdoc-modifiers