TypeScript Academy · Pelajaran

Penaipan parameter this; void, never

Taipkan parameter khas this, fahami this leksikal dengan fungsi anak panah dan pelajari masa untuk memulangkan void berbanding never.

Pelajaran 2 daripada 38 langkah

Penaipan parameter this; void, never ialah pelajaran TypeScript Academy percuma di CoddyKit. Ini ialah pelajaran 2 daripada 3. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran TypeScript Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus TypeScript Academy merangkumi sejumlah 3 pelajaran.

Pengenalan

Matlamat: Taipkan parameter khas this, fahami cara anak panah menangkap this secara leksikal, dan pilih antara void (tiada nilai) dengan never (tiada pemulangan).

Penaipan parameter this

Tambahkan parameter awal bernama this untuk menaip penerima yang dijangka. Parameter ini bukan argumen sebenar dan hanya terpakai pada fungsi bukan anak panah.

function setTitle(this: { title: string }, t: string): void {
  this.title = t;
}

const model = { title: "Old" };
setTitle.call(model, "New");
console.log(model.title);

Anak panah dan this leksikal

Fungsi anak panah menangkap this daripada skop sekeliling; fungsi ini tidak boleh mengisytiharkan parameter this.

const counter = {
  n: 0,
  tick: function () {
    setTimeout(() => {
      // Arrow keeps outer this (counter)
      this.n++;
      console.log(this.n);
    }, 0);
  },
};

counter.tick();

Pemulangan void

void bermaksud fungsi itu tidak memulangkan nilai yang bermakna. Pemanggil tidak sepatutnya menggunakan hasilnya.

function logMsg(msg: string): void {
  console.log(msg);
}

const r = logMsg("hello"); // r is void (ignored)
// Returning a value here would error when annotated as void

Pemulangan never

never menunjukkan bahawa fungsi itu tidak memulangkan nilai (ia melontar ralat atau berjalan dalam gelung tanpa henti). Ia berguna untuk semakan menyeluruh dan laluan kod yang mustahil.

function fail(message: string): never {
  throw new Error(message);
}

function loopForever(): never {
  while (true) {}
}

// Calling either function never returns

Amalan terbaik

Petua:

  • Gunakan parameter this hanya pada fungsi bukan anak panah yang bergantung pada penerima.
  • Utamakan panggil balik anak panah untuk mengelakkan kehilangan this.
  • Anotasikan void untuk fungsi yang menghasilkan kesan sampingan; gunakan never untuk pelindung lontaran/gelung atau semakan menyeluruh.

Semakan parameter this

Semakan pantas: Pernyataan manakah tentang parameter “this” yang TRUE?

Rumusan

Rumusan: Taipkan penerima dengan parameter this dalam fungsi bukan anak panah, bergantung pada anak panah untuk this leksikal, dan gunakan void berbanding never dengan sewajarnya.

Percuma untuk bermula

Pelajari TypeScript dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
101
Pelajaran
352

Soalan Lazim

Adakah pelajaran “Penaipan parameter this; void, never” percuma?

Ya — teks penuh “Penaipan parameter this; void, never” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus TypeScript Academy, tingkat taraf kepada CoddyKit PRO. Kursus TypeScript Academy merangkumi sejumlah 3 pelajaran.

Apakah yang akan saya pelajari dalam “Penaipan parameter this; void, never”?

Taipkan parameter khas this, fahami this leksikal dengan fungsi anak panah dan pelajari masa untuk memulangkan void berbanding never. Anda berlatih TypeScript Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan TypeScript Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran TypeScript Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 3.

Berapa lamakah pelajaran “Penaipan parameter this; void, never” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran TypeScript Academy ini?

Ya. Setiap pelajaran TypeScript Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Lebihan fungsi dan tandatangan panggilan
  2. Penaipan parameter this; void, never
  3. Fungsi penegasan dan pengawal jenis takrifan pengguna
← Kembali ke TypeScript Academy