Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mengendalikan Parameter Fungsi Pilihan dalam ES6: Jenis Semakan lwn Operator Ternary?

Bagaimana untuk Mengendalikan Parameter Fungsi Pilihan dalam ES6: Jenis Semakan lwn Operator Ternary?

DDD
DDDasal
2024-11-11 20:42:02769semak imbas

How to Handle Optional Function Parameters in ES6: Type Checking vs. Ternary Operator?

Ciri ES6: Parameter Fungsi Pilihan

Pendekatan konvensional kepada parameter fungsi pilihan dalam JavaScript melibatkan semakan OR (||) logik, dicontohkan dalam coretan kod di bawah:

function myFunc(requiredArg, optionalArg){
  optionalArg = optionalArg || 'defaultValue';

  // Do stuff
}

Walaupun teknik ini merupakan kaedah tradisional, ia mempunyai had tertentu. Sebagai contoh, jika optionalArg diluluskan tetapi dinilai sebagai palsu, nilai lalai tidak diberikan.

Pendekatan Alternatif

Untuk menangani had ini, dua pendekatan alternatif dicadangkan:

1. Jenis Semakan:

if (typeof optionalArg === 'undefined') { optionalArg = 'default'; }

Pendekatan ini melibatkan pemeriksaan jika optionalArg tidak ditentukan dan memberikan nilai lalai jika syarat ini dipenuhi. Ia memastikan bahawa nilai lalai ditetapkan hanya apabila optionalArg tiada atau apabila ia ditetapkan secara eksplisit kepada undefined.

2. Operator Ternary:

optionalArg = (typeof optionalArg === 'undefined') ? 'default' : optionalArg;

Operator ternary menyediakan alternatif ringkas untuk mengendalikan parameter pilihan. Ungkapan menilai kepada nilai lalai jika optionalArg tidak ditentukan; jika tidak, ia mengekalkan nilai asal optionalArg.

Yang Mana Perlu Dipilih?

Kedua-dua pendekatan semakan jenis dan operator ternary menawarkan penyelesaian yang berkesan kepada isu parameter pilihan. Pilihan antara mereka bergantung pada keutamaan peribadi dan kebolehbacaan kod. Sintaks pengendali ternary lebih padat, manakala pendekatan semakan jenis mungkin lebih eksplisit.

Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Parameter Fungsi Pilihan dalam ES6: Jenis Semakan lwn Operator Ternary?. 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