Rumah >hujung hadapan web >tutorial js >Meneroka Option Getters dalam Effect-TS
Effect-TS menyediakan set alat yang mantap untuk mengendalikan jenis Pilihan, yang mewakili nilai yang mungkin wujud atau tidak. Dalam artikel ini, kami akan meneroka pelbagai cara untuk mendapatkan nilai dalam Opsyen menggunakan getter berbeza yang disediakan oleh pustaka.
Fungsi O.getOrElse membolehkan anda memberikan nilai lalai jika Pilihan adalah Tiada. Ini berguna apabila anda ingin memastikan nilai sandaran sentiasa tersedia.
import { Option as O, pipe } from 'effect'; function getters_ex01() { const some = O.some(1); // Create an Option containing the value 1 const none = O.none(); // Create an Option representing no value console.log(pipe(some, O.getOrElse(() => 'none'))); // Output: 1 (since some contains 1) console.log(pipe(none, O.getOrElse(() => 'none'))); // Output: 'none' (since none is None) }
Fungsi O.getOrThrow mengembalikan nilai di dalam Option jika ia adalah Beberapa, jika tidak, ia akan melemparkan ralat lalai.
import { Option as O, pipe } from 'effect'; function getters_ex02() { const some = O.some(1); // Create an Option containing the value 1 const none = O.none(); // Create an Option representing no value console.log(pipe(some, O.getOrThrow)); // Output: 1 (since some contains 1) try { console.log(pipe(none, O.getOrThrow)); // This will throw an error } catch (e) { console.log(e.message); // Output: getOrThrow called on a None } }
Fungsi O.getOrNull mengembalikan nilai di dalam Option jika ia adalah Beberapa, jika tidak ia mengembalikan nilai nol.
import { Option as O, pipe } from 'effect'; function getters_ex03() { const some = O.some(1); // Create an Option containing the value 1 const none = O.none(); // Create an Option representing no value console.log(pipe(some, O.getOrNull)); // Output: 1 (since some contains 1) console.log(pipe(none, O.getOrNull)); // Output: null (since none is None) }
Fungsi O.getOrUndefined mengembalikan nilai di dalam Option jika ia adalah Sebilangan, jika tidak ia mengembalikan tidak ditentukan.
import { Option as O, pipe } from 'effect'; function getters_ex04() { const some = O.some(1); // Create an Option containing the value 1 const none = O.none(); // Create an Option representing no value console.log(pipe(some, O.getOrUndefined)); // Output: 1 (since some contains 1) console.log(pipe(none, O.getOrUndefined)); // Output: undefined (since none is None) }
import { Option as O, pipe } from 'effect'; function getters_ex05() { const some = O.some(1); // Create an Option containing the value 1 const none = O.none(); // Create an Option representing no value console.log(pipe(some, O.getOrThrowWith(() => new Error('Custom Error')))); // Output: 1 (since some contains 1) try { console.log(pipe(none, O.getOrThrowWith(() => new Error('Custom Error')))); // This will throw a custom error } catch (e) { console.log(e.message); // Output: Custom Error } }
Dengan menggunakan pengambil yang berbeza ini, anda boleh mengendalikan jenis Opsyen dengan berkesan dalam pelbagai senario, memastikan kod anda berfungsi dengan betul sama ada Pilihan ialah Beberapa atau Tiada. Utiliti ini menyediakan cara yang jelas dan selamat jenis untuk bekerja dengan nilai pilihan, mengelakkan perangkap biasa yang dikaitkan dengan semakan nol dan meningkatkan kebolehbacaan dan kebolehselenggaraan kod anda. Mengguna pakai corak ini boleh membawa kepada pangkalan kod yang lebih bersih dan teguh di mana
Atas ialah kandungan terperinci Meneroka Option Getters dalam Effect-TS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!