Rumah  >  Artikel  >  hujung hadapan web  >  Terangkan seperti saya junior awak: kenapa ?. baik?

Terangkan seperti saya junior awak: kenapa ?. baik?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-03 11:03:02341semak imbas

Saya telah menulis JS hampir dua dekad pada ketika ini, tetapi saya masih tidak faham mengapa ?. bukanlah permulaan anti-corak, terutamanya untuk panggilan kaedah.

Saya melihat siaran itu

Dan satu yang menarik perhatian saya ialah nombor 2 "Perangkaian Pilihan dengan Panggilan Fungsi":

const user = {
getName: () => 'Alice',
};
console.log(user.getName?.());   // Alice
console.log(user.getAge?.());    // undefined

Yang menjerit "Saya tidak tahu antara muka objek saya, dan saya tidak kisah."

Anda pastinya harus mengambil berat tentang antara muka kepada objek anda.

Saya hampir dapat melihat hujah untuk keteguhan jika API perpustakaan berubah, tetapi tidak, jika anda menggunakan pustaka, anda tahu antara muka kepada objek, betulkan kod anda.

Ia kelihatan seperti penarik pepijat yang besar.

Anda tidak pernah mahu sesuatu yang tidak ditentukan. Atau adakah saya terlepas memo tentang itu?

Dan itu berganda untuk kaedah. Jika dua objek tidak mempunyai kelakuan yang sama, mereka perlu dianggap sebagai jenis yang berbeza, bukan hanya mengangkat bahu dan berkata "tidak apa-apa".

Adakah ujian untuk null haram hari ini? Saya tahu null telah dipanggil kesilapan bilion dolar, tetapi itu diselesaikan dengan jenis pilihan (seperti Mungkin dalam Haskell), bukan yang kelihatan seperti songsang.

Jenis pilihan memberitahu anda bahawa ini adalah sesuatu yang mungkin batal, jadi teruskan dengan berhati-hati. Ia tidak menyembunyikan fakta, seperti ?. memang.

Dengan semua yang dikatakan, saya gembira untuk tidak menyalahgunakan tanggapan bahawa ?. hanya menendang tin ke jalan apabila ia datang untuk menyemak nol, atau hanya reka bentuk yang buruk apabila ia datang kepada undefined.

Apakah corak yang baik, iaitu yang mengurangkan pepijat, yang boleh anda gunakan ?.?

Atas ialah kandungan terperinci Terangkan seperti saya junior awak: kenapa ?. baik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn