0Pricing
TypeScript Academy · Pelajaran

Properti readonly dan Properti Parameter

Gunakan readonly dan properti konstruktor dalam bentuk singkat.

Properti readonly dan Properti Parameter adalah pelajaran TypeScript Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar TypeScript Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus TypeScript Academy mencakup 4 pelajaran total.

Selamat Datang

readonly mencegah properti diubah setelah inisialisasi. Properti parameter menggabungkan deklarasi dan inisialisasi menjadi satu baris konstruktor.

readonly pada Properti Kelas

Deklarasikan sebuah properti sebagai readonly agar properti tersebut dapat diatur sekali, yaitu di dalam konstruktor, tetapi mencegah perubahan setelahnya.
class Invoice {
  readonly invoiceId: string;
  constructor(id: string) { this.invoiceId = id; }
}
const inv = new Invoice('INV-001');
// inv.invoiceId = 'INV-002'; // Error!

readonly dalam Antarmuka

readonly juga berfungsi dalam antarmuka dan tipe objek untuk mencegah penetapan ulang properti.
interface Point { readonly x: number; readonly y: number; }
const p: Point = { x: 5, y: 10 };
// p.x = 0; // Error

Properti Parameter

Awali parameter konstruktor dengan pengubah akses untuk mendeklarasikan properti dan menetapkan nilainya dalam satu langkah.
class Product {
  constructor(
    public name: string,
    public price: number,
    private sku: string
  ) {} // no need to write this.name = name; etc.
}

Properti Parameter readonly

Gabungkan `readonly` dengan pengubah akses untuk properti parameter.
class Config {
  constructor(
    public readonly host: string,
    public readonly port: number = 3000
  ) {}
}

Inisialisasi dalam Deklarasi

Anda dapat menginisialisasi properti readonly saat deklarasi. Properti tersebut tidak dapat diubah setelah itu.
class AppVersion {
  readonly version: string = '1.0.0';
  readonly buildDate: Date = new Date();
}

readonly versus const

`const` digunakan untuk variabel dengan cakupan blok. `readonly` digunakan untuk properti kelas dan anggota tipe objek. Keduanya berlaku pada cakupan yang berbeda.
const API_KEY = 'secret'; // block variable
class Service {
  readonly key: string = API_KEY; // class property
}

Tipe Objek Readonly

Tipe utilitas `Readonly` membuat semua properti T menjadi readonly. Ini berguna untuk membuat rekam keadaan yang tidak dapat diubah.
interface User { name: string; age: number; }
const frozen: Readonly<User> = { name: 'Alice', age: 30 };
// frozen.name = 'Bob'; // Error

readonly Tidak Membekukan Secara Mendalam

Seperti ReadonlyArray, readonly hanya mencegah penetapan ulang properti itu sendiri, bukan perubahan pada objek yang ditunjuk oleh properti tersebut.
class Team {
  readonly members: string[] = [];
}
const t = new Team();
t.members.push('Alice'); // Allowed — the array itself is mutable!
// t.members = []; // Error — can't reassign the property

Properti Parameter Menghemat Kode Berulang

Tanpa properti parameter, Anda harus mendeklarasikan bidang, mendeklarasikan parameter konstruktor, lalu menetapkan nilainya. Dengan properti parameter, satu baris melakukan ketiganya.
// Without parameter properties (verbose)
class A {
  private x: number;
  constructor(x: number) { this.x = x; }
}
// With parameter properties (concise)
class B {
  constructor(private x: number) {}
}

Kapan Sebaiknya Menghindari Properti Parameter

Beberapa tim menghindari properti parameter dalam kelas besar karena deklarasi properti tersembunyi dari badan kelas, sehingga keterbacaan sekilas berkurang.

Pemeriksaan Singkat

Saat menggunakan properti parameter dalam TypeScript, apa yang tetap TRUE tentang pengubah readonly?

Ringkasan

readonly mencegah perubahan properti setelah konstruksi. Properti parameter, yaitu pengubah akses + nama parameter, mendeklarasikan dan menginisialisasi properti dalam satu baris. Gabungkan keduanya untuk rancangan kelas yang ringkas dan tidak dapat diubah.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Properti readonly dan Properti Parameter” gratis?

Ya — teks lengkap “Properti readonly dan Properti Parameter” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus TypeScript Academy, upgrade ke CoddyKit PRO. Kursus TypeScript Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Properti readonly dan Properti Parameter”?

Gunakan readonly dan properti konstruktor dalam bentuk singkat. Kamu berlatih TypeScript Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai TypeScript Academy?

Tidak diperlukan pengalaman sebelumnya. TypeScript Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Properti readonly dan Properti Parameter” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran TypeScript Academy ini?

Ya. Setiap pelajaran TypeScript Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Class dan Konstruktor TypeScript
  2. Pengubah public, private, dan protected
  3. Properti readonly dan Properti Parameter
  4. Mengimplementasikan Antarmuka dengan Class
← Kembali ke TypeScript Academy